Archive for Октябрь, 2014

MySQL: исправить двойное кодирование текста в UTF8

// Октябрь 29th, 2014 // No Comments » // MySQL, UTF8

Проверить, что метод вам подойдет — достаточно просто:

 mysql> SELECT convert(binary convert(`colum` using cp1251) using utf8) FROM `table` LIMIT 0, 1;

Если текст вернулся в читаемом виде — можно обновить поле таким запросом:

 mysql> UPDATE `table` set `colum` = convert(binary convert(`colum` using cp1251) using utf8);

ssh клиент, избавляемся от паранойи

// Октябрь 15th, 2014 // No Comments » // ssh

Я думаю всем знакома картина:

# ssh user@10.10.10.10
The authenticity of host '10.10.10.10 (10.10.10.10)' can't be established.
DSA key fingerprint is 68:26:17:4b:ed:10:10:10:10:10:10:10:c5:6f:21:e5.
Are you sure you want to continue connecting (yes/no)?

Если вы не работаете в Пентагоне, а просто обслуживаете пару-тройку десятков серверов, да еще и в локальной сети, думаю, можно пренебречь сверкой ключей. Для этого в конфиге ssh клиента отключить проверку ключей, в файл ~/.ssh/config или глобально для всей системы в /etc/ssh/ssh_config (у некотороых это /etc/ssh_config) добавить строку:

StrictHostKeyChecking no

Есть еще одна не очень приятная штука, поменял сервер, а ключ у тебя в клиенте уже сохранен и получаешь ошибку:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the DSA host key has just been changed.
The fingerprint for the DSA key sent by the remote host is
блаблабла

Такие сообщения часто удручают при очередном апгрейде парка, решение — не хранить ключи =) , а что бы не получать алерты — уменьшить уровень логирования до только ошибок, все в тот же файл ~/.ssh/config  добавить:

UserKnownHostsFile /dev/null
LogLevel error

Архивы TAR

// Октябрь 1st, 2014 // No Comments » // console, utility

Создать архив:

tar:

tar -cvf file.tar /path

tar.gz:

tar -czvf file.tar.gz /path

tar.bz2:

tar -cjvf file.tar.bz2 /path

Полезные ключи:
--exclude "./logs" — исключить путь или файл из архива

Распаковать:

tar -xvf file.tar.gz