rsync
Часто требуется синхронизировать содердимое каталогов на разных серверах. Для этого проще всего настроить rsync.
Устанавливаем из портов:
cd /usr/ports/net/rsync/ make install clean
Эту операцию нужно сделать и там где будет стоять сервер(оттуда мы будем получать новые и измененные файлы) и на клиенте(он будет вытягивать к себе изменения).
Пример настройки сервера(rsyncd.conf):
pid file = /var/run/rsyncd.pid log file = /var/log/rsyncd.log #Секция описывающая директорию #которую мы можем синхронизировать [bin] uid = root gid = wheel #путь к директории path = /usr/home/sh/bin/ comment = My bin max connections = 4 read only = yes #IP с которого разрешено подключаться hosts allow = 89.252.34.110 #Пользователь которому разрешено подключаться auth users = hilik max verbosity = yes #Файл в котором хранятся данные авторизации secrets file = /usr/local/etc/rsyncd.secrets
Пример /usr/local/etc/rsyncd.secrets:
hilik:hilik
В файле описан в первом поле login во втором пароль на сессию
После того как вышеописанные процедуры будут выполнены, необходимо включить автозапуск rsyncd в rc.conf
echo "rsyncd_enable=YES" >>/etc/rc.conf
Можно запускать сервер:
/usr/local/etc/rc.d/rsyncd start
Теперь можно приступать к настройке клиента.
На клиенте ничего особенного настраивать не надо. Нужен скрипт синхронизации, пример которого мы приводим ниже.
#!/bin/sh #Устанавливаем пароль RSYNC_PASSWORD='hilik' export RSYNC_PASSWORD #Указываем какой локальный каталог предназначен для синхронизации PATH='/home/sh/bin' #Путь к команде rsync RSYNC='/usr/local/bin/rsync' #Название экспортируемой директории #Так как она описана в rsyncd.conf EXP='bin' #Адрес хоста с которым мы будем синхронизировать каталоги HOST='89.252.34.107' #Имя пользователя USER='hilik' #Непосредственный запуск rsync #Конструкция --exclude="*~" запрещает синхронизацию файлов с ~ в конце $RSYNC -av --exclude="*~" rsync://$USER@$HOST/$EXP $PATH
После того как мы создали скрипт синхронизации мы можем его выполнить.



