четверг, 24 декабря 2015 г.

Как раскидать SSH-ключи по нескольким серверам

Занесем список всех серверов в файл:
$ vim server.list
server1.ru
server2.ru
192.168.0.100
192.168.0.101
...

Установим sshpass чтобы постоянно руками не вводить пароль:
# apt-get install sshpass

Маленький скрипт, который будет раскидывать ключи:
$ vim script.sh
#!/bin/bash
while read -r line
do
    echo "running $line"
    sshpass -p пароль ssh-copy-id имя_пользователя@$line -o "StrictHostKeyChecking no"
done < "server.list"

Запускам скрипт:
$ sh script.sh
running server1.ru
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

Number of key(s) added: 1
running server2.ru
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

Number of key(s) added: 1

понедельник, 21 декабря 2015 г.

Отмена базовой авторизации apache в поддиректории

Допустим на http://test.ru стоит базовая авторизация:
# cat .htaccess 
AuthName "Password, my lord?"
AuthType Basic
AuthUserFile /var/www/.htpasswd
require valid-user

# cat .htpasswd 
admin:$apr1$uvX28MPH1

И мы хотим, что бы для http://test.ru/dir2 авторизации не было:
# pwd
/var/www
# ls
dir1 dir2 dir3

Все что нужно сделать:
# vim dir1/.htaccess
Satisfy any
Order allow,deny
Allow from all

После этого авторизации для dir1 не будет.

пятница, 18 декабря 2015 г.

ERROR 1062 (23000) at line 1: Duplicate entry '1' for key 'PRIMARY'

Нужно было обновить таблицы с нового дампа.
При попытке дампа базы, появляется ошибка:
# mysql -uuser_base -p111 my_db < my_db.sql 
ERROR 1062 (23000) at line 1: Duplicate entry '1' for key 'PRIMARY'

Решение такое, нужно в дампе заменить все INSERT'ы на REPLACE'ы.
# cp my_db.sql my_db.sql_modified
# vim my_db.sql_modified
:%s/INSERT/REPLACE/g
:wq
или через sed:
# sed -i 's/INSERT/REPLACE/g' my_db.sql_modified

Пробуем заново импортировать модифицированный дамп:
# mysql -uuser_base -p111 my_db < my_db.sql_modified && echo OK
OK

пятница, 4 декабря 2015 г.

Запуск Dota 2 с произвольным разрешением экрана

В настройках запуска игры прописываем нужное разрешение:
-w 1440 -h 900 -sdl_displayindex 1

-sdl_displayindex 1 мне понадобилось для того, чтобы запустить на дополнительном мониторе.