rsync (англ. Remote Synchronization) — программа, которая выполняет синхронизацию файлов и каталогов в двух местах с минимизированием трафика, используя кодирование данных при необходимости. Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). rsync может копировать или отображать содержимое каталога и копировать файлы, опционально используя сжатие и рекурсию.
rsyncd — демон, реализующий протокол rsync. По умолчанию использует TCP порт 873.
Установка:
# yum -y install rsync xinetd |
# yum -y install rsync xinetd
Включаем службы:
в /etc/xinetd.d/rsync, меняем значение параметра «disable» на «no».
service rsync
{
disable= no# заменить
flags= IPv6
socket_type= stream
wait= no
user= root
server= /usr/bin/rsync
server_args= --daemon
log_on_failure+= USERID
} |
service rsync
{
disable= no# заменить
flags= IPv6
socket_type= stream
wait= no
user= root
server= /usr/bin/rsync
server_args= --daemon
log_on_failure+= USERID
}
Запускаем демона:
# /etc/rc.d/init.d/xinetd start
Starting xinetd:[ OK ]
# chkconfig xinetd on |
# /etc/rc.d/init.d/xinetd start
Starting xinetd:[ OK ]
# chkconfig xinetd on
Создаем конфигурацию демона:
#vi /etc/rsyncd.conf
[backup]
# destination directory
path = /home/backup
# Hosts you allow to copy (specify source Host)
hosts allow = 192.168.1.100
hosts deny = *
list = true
uid = root
gid = root
read only = false |
#vi /etc/rsyncd.conf
[backup]
# destination directory
path = /home/backup
# Hosts you allow to copy (specify source Host)
hosts allow = 192.168.1.100
hosts deny = *
list = true
uid = root
gid = root
read only = false
При необходимости, можно ограничить доступ к директории паролем:
Пароль хранится в открытом виде /etc/rsyncd.secrets. В нашем случае доступ задается дополнительным параметром в «[backup]»
vi /etc/rsyncd.conf
secrets file = /etc/rsyncd.secrets |
vi /etc/rsyncd.conf
secrets file = /etc/rsyncd.secrets
vi /etc/rsyncd.secrets
test:testtest |
vi /etc/rsyncd.secrets
test:testtest
Проверяем синхронизацию с клиента:
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /var/www/html/ 192.168.1.200::backup |
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /var/www/html/ 192.168.1.200::backup