Archive

Archive for November, 2010

Права на файлы при ssh авторизации по ключу

November 30th, 2010

Все время забываю какие должны быть права поэтому сделаю заметку:
Права на домашний каталог юзера:

drwx------  5 admin      admin      4096 Nov 30 15:42 admin

Каталог .ssh

drwx------ 2 admin admin 4096 Nov 30 15:23 .ssh

authorized_keys

-rw------- 1 admin admin  213 Nov 30 15:23 authorized_keys

Uncategorized

Скрипт синхронизации баз, сайтов и конфигов

November 24th, 2010

С помощью данного скрипта можно синхронизировать папки сайтов, базы MySQL и конфиги виртуал-хостов апача и nginx с одного сервера на другой. Синхронизация баз происходит без остановку мускула.

#!/bin/bash

param=" --progress -plzuogthr --compress-level=9 --delete-after"
sitesfromserver1="site1.ru site2.ru site3.ru"
basesfromserver1="basesite1 basesite2 basesite3"

### Apache vhosts - Not need "update" parametr
rsync -e "ssh -p222"  --progress -plzogthr --compress-level=9 --delete-after /etc/httpd/vhosts root@server2.domain.com:/etc/httpd

### Nginx vhosts - Not need "update" parametr
rsync -e "ssh -p222"  --progress -plzogthr --compress-level=9 --delete-after /etc/nginx/vhosts root@server2.domain.com:/etc/nginx

### Sites sync
for site in $sitesfromserver1
    do
    rsync -e "ssh -p222" $param /usr/local/www/$site root@server2.domain.com:/usr/local/www
done

### MySQL bases sync
echo "Lock bases on Server1 and Server2"
echo "FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;" | /usr/bin/mysql -u backup -pPasWord
ssh -p222 root@server2.domain.com 'echo "FLUSH TABLES WITH READ LOCK; SET GLOBAL read_only = ON;" | /usr/bin/mysql -u backup -pPasWord'

echo "Sleep 15s"
sleep 15s

# Bases from Server1
for base in $basesfromserver1
    do
    rsync -e "ssh -p222" $param /var/lib/mysql/$base root@server2.domain.com:/var/lib/mysql
done

echo "Unlock bases"
echo "SET GLOBAL read_only = OFF; UNLOCK TABLES;" | /usr/bin/mysql -u backup -pPasWord
ssh -p222 root@server2.domain.com 'echo "SET GLOBAL read_only = OFF; UNLOCK TABLES;" | /usr/bin/mysql -u backup -pPasWord'

/etc/init.d/mysqld restart
ssh -p222 root@server2.domain.com /etc/init.d/mysqld restart

linux ,

Проблема “Public key for … is not installed” при установке пакета из yum

November 10th, 2010

Если в процессе установки пакета с помощью yum из какого-либо недавно подключенного репозитория вы получаете ошибку: “Public key for … is not installed” это значит что публичный ключ данного репозитория, которым подписываются все входящие в него пакеты, отсутствует в вашей системе.
Далее два варианта:
1. Либо этот публичный ключ есть у вас на диске, находим его

find / -name "*GPG*"

2. Скачиваем его с оф. сайта репозитория. Он будет подписан примерно так “The packages are all signed with this GPG key.”

Теперь добавляем его в yum:

rpm --import [путь к ключу]

linux