Для синхронизации каталогов между двумя серверами FreeBSD будем использовать rsync.
На обоих серверах ставим rsync из портов.
Я использую следующие опции:
На сервере, с которого будем синхронизировать файлы:
В rc.conf разрешаем запуск rsyncd:
На сервере, который будет в роли клиента создаем shell-скрипт следующего содержания:
-q - "тихий режим", не выводить никакие сообщения об ошибках
-r - рекурсивный режим, т.е. копировать директорию и поддиректории
-u - пропускать более свежие на клиенте файлы
-l - копировать симлинки (symlinks) как симлинки
--delete-excluded - удалять файлы, если они удалены на сервере
Этот скрипт можно прописать в cron для периодического запуска.
Всё.
На обоих серверах ставим rsync из портов.
[root@office-rsync-server ~]# cd /usr/ports/net/rsync
Я использую следующие опции:
[root@office-rsync-server /usr/ports/net/rsync]# make showconfig
===> The following configuration options are available for rsync-3.0.9_3:
ACL=off: Add backward-compatibility for the --acls option
ATIMES=off: Preserve access times, adds --atimes
DOCS=on: Build and/or install documentation
FLAGS=off: File system flags support patch, adds --fileflags
ICONV=on: Encoding conversion support via iconv
POPT_PORT=off: Use popt from devel/popt instead of bundled one
RENAMED=off: Add support for renamed file detection
SSH=on: Use SSH instead of RSH
TIMELIMIT=on: Time limit patch
===> Use 'make config' to modify these settings
[root@office-rsync-server /usr/ports/net/rsync]# make install clean
На сервере, с которого будем синхронизировать файлы:
[root@office-rsync-server ~]# ee /usr/local/etc/rsyncd.conf
Редактируем файл rsyncd.conf до следующего состояния:
pid file = /var/run/rsyncd.pid
uid = root
gid = wheel
use chroot = yes
max connections = 10
syslog facility = local5
[wrk]
path = /wrk
comment = Working files
hosts allow = 192.168.249.250, 192.168.249.251
В rc.conf разрешаем запуск rsyncd:
rsyncd_enable="YES"
На сервере, который будет в роли клиента создаем shell-скрипт следующего содержания:
[root@office-rsync-client ~]# ee /root/sync_files.sh
#!/bin/sh, где:
rsync -qrul --delete-excluded 192.168.249.50::wrk /wrk
-q - "тихий режим", не выводить никакие сообщения об ошибках
-r - рекурсивный режим, т.е. копировать директорию и поддиректории
-u - пропускать более свежие на клиенте файлы
-l - копировать симлинки (symlinks) как симлинки
--delete-excluded - удалять файлы, если они удалены на сервере
Этот скрипт можно прописать в cron для периодического запуска.
Всё.
Комментариев нет:
Отправить комментарий