Синхронизируем два веб-сервера (joomla)

Синхронизация директорий сайта можно производить с использованием утилиты rsync через ssh с использование авторизации по ключу.
Для генерации ключей используем команду:
ssh-keygen -t dsa -f id_dsa
открытый ключ кладем на сервере, куда будем подключаться
копируем id_dsa в /home/user/.ssh/authorized_keys
Смотрим на этом сервере в sshd_config и правим следующий параметр:
AuthorizedKeysFile %h/.ssh/authorized_keys

Текст скрипта для синхронизации:
#!/bin/sh

rsync -avz -e «ssh -l username -i /home/username/.ssh/id_dsa» –delete /home/username/folder IP(hostname):»/home/username» >> /var/log/rsync.log

exit

username – имя пользователя от которого выполняем действие

/home/username/folder – что копируем

IP(hostname):»/home/username» – куда копируем

Базы данных реплицируются посредством стандартных средств mysql
Параметры мастера репликации сервер выдержка из my.cnf
[mysqld]

log-bin

server-id=1

Команда для добавления пользователя репликации (учетная запись создается на мастере)

mysql> GRANT SUPER,REPLICATION CLIENT,REPLICATION SLAVE,RELOAD ON *.* TO repl@»%» IDENTIFIED BY ‘password’;

Параметры слейва репликации сервер выдержка из my.cnf
master-host = serverip

master-user = repl

master-password = password

server-id = 2

replicate-do-db = database name

Команды для включения репликации (выполняется на slave-сервере):
mysql> stop slave;

mysql>CHANGE master TO master_host = ‘server’, master_user = ‘repl’, master_password = ‘password’, master_log_file = ‘bin-filename’, master_log_pos = 000001;

## master_log_file и master_log_pos можно взять выполнив на мастере SHOW master STATUS;
mysql> start slave;

mysql> LOAD DATA FROM MASTER; (принудительная репликация)
  • 0
  • 29 октября 2011, 13:11
  • admin

Комментарии (0)

RSS свернуть / развернуть
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Яндекс.Метрика