у Ника

имеется кое-что: лог, код, муз

 

6 мая 2010, 02:18

кодировки в MySQL

Я всегда делаю сайты на utf-8, и чтобы сервер принимал и отдавал в utf8 независимо от его дефолтных настроек, всегда выполняю где-то при инициализации php-скрипта эти 2 запроса:

SET NAMES utf8
SET collation_connection = utf8_general_ci

Начав очередной проект, где важно оптимизировать все, что можно, я с самого начала озаботился тем, что нафига же мне два лишних запроса при каждом обращении к сайту. Поискал и узнал: следующие три строки в разделе [mysqld] конфиг-файла mysql велят серверу игнорировать запросы клиента насчет кодировок и работать в utf8:

[mysqld]
collation-server=utf8_general_ci
character-set-server=utf8
skip-character-set-client-handshake

После перехода на выделенный сервер в качестве площадки для своих веб-проектов у меня появилась куча возможностей и немного дополнительных забот. Одна из них - как бекапить так, чтобы надежно.

На сервере данные резервируются, но для пущего спокойствия (для таких случаев - а я ведь там хостился, вовремя свалил) хотелось сливать их к себе. Не помню, как нашел программу WinSCP, но она оказалось тем, чем надо. Она может коннектиться по SFTP (SSH File Transfer Protocol), поддерживает командную строку, умеет синхронизировать каталоги — все то, что нужно для автослива.

Чтобы запустить WinSCP для синхронизации содержимого папки на сервере, я создал bat-ник с такой строкой (для удобства чтения здесь написал в несколько строк):

WinSCP.exe 
  /ini=путь-к-файлу-WinSCP.ini 
  /console "имя набора настроек для подключения" 
  /command "synchronize local -delete путь-к-локальной-папке путь-к-папке-на-сервере"

В WinSCP, как и в PuTTY, можно сохранять настройки подключения (даже пароль, в отличие от последней) для повторного использования, поэтому предварительно необходимо создать набор настроек. А если настроить коннект по ключу, то даже пароль не надо в открытом виде хранить.

После этого осталось только настроить автозапуск батника (для таких дел и для многих других использую nnCron), а резервирование на сервере запускать за час до запуска батника. Красота!

29 апреля 2010, 14:20

Как создать файл в linux

cat - > имя_файла

Что где:

> означает перенаправление в файл
- велит перенаправлять туда ввод с клавиатуры