Файловый сервер растет не подням, а по часам ..каждый пытается перестраховаться и записывает на него все что он делает.
Решил и я перестраховаться.
Выбрал по объемистей сервер для складывания в него бэкапов.
Приступим к установке на машины с которых будем сливать на сервер бэкапы.
#cd /usr/ports/net/rsync/ && make install clean
Настроим
# cat /usr/local/etc/rsyncd.conf | grep -v '^#' | sed '/^$/d' pid file = /var/run/rsyncd.pid # лог файл log file = /var/log/rsyncd.log # Файел приведствия motd file = /etc/hello_rsync # Ведем историю копирования transfer logging = true # Можно указать свой порт , по умолчанию rsyncd использует tcp 873 #port = 7777 [share] # Путь к директории path = /mnt/pav253/ # Под каким uid'ом работать uid = root # Только чтение read only = yes # Разрешать просмотр файлов list = yes # Разрешенные пользователи auth users = colin # Путь до файла с паролем secrets file = /root/rsyncd.scrt # Хосты, которым разрешен доступ hosts allow = 10.7.20.253
Далее создаем необходимые файлы и установить на них владельцев и права:
# touch /var/log/rsyncd.log # chmod 0600 /var/log/rsyncd.log # chown root:wheel /var/log/rsyncd.log
Создаем файел с паролем
# more /root/rsyncd.scrt colin:Qq111111
Создадим пользака
pw useradd colin -m -s /bin/csh
Ставим определенные права на него.
# chown root:wheel /root/rsyncd.scrt # chmod 0600 /root/rsyncd.scrt
Добавляем авто старт скрипту
# echo "rsyncd_enable=YES" >> /etc/rc.conf
И на конец стартует сервис rsync.
# /usr/local/etc/rc.d/rsyncd start
# ps ax | grep rsyn 82746 ?? Is 0:00,00 /usr/local/bin/rsync --daemon 83379 0 S+ 0:00,00 grep rsyn
Так же хочу сказать у меня на серверах стояит меж сетевой экран, и так что бы можно было бэкапить с них данные то добавляем к првтлам фильтрции трафика такое правило.
$cmd 00704 allow tcp from 10.7.20.0/24 to 10.7.20.210 dst-port 873 keep-state
Далее по тексту, приступаем к нас тройке нашего сервера, куда будут сливаться бэкапы.
ставим
#cd /usr/ports/net/rsync/ && make install clean
pav-253# rsync 10.7.20.210:: ########################## # # Hello from rsync server (pav-210) # Server Adress : 10.7.20.210 # ########################## share
Создадим мы файел с паролем для авторизации
# touch /root/rsyncd.scrt # chown root:wheel /root/rsyncd.scrt # chmod 0600 /root/rsyncd.scrt
# more /root/rsyncd.scrt Qq111111
Теперь создадим директорию куда будут заливаться бэкапы.
# mkdir -p /mnt/share/users
И на конец сделаем первую копию рабочих директорий пользователей.
# rsync -uvroght --port=7777 --delete-after --backup --backup-dir=/mnt/old_back --password-file /root/rsyncd.scrt colin@10.7.20.210:/mnt/pav253 /mnt/share/users/
Опишу ключи которые мы применили
u, --update пропускать обновление файлов, которые новее исходных v, --verbose Вывод сообщений в терминал r, --recursive рекурсия в директориях o, --owner сохранить владельца (только под root) g, --group сохранить группу h, --human-readable вывод цифр в читаемом виде (Кб, Мб, Гб) t, --times сохранить дату изменения p, --perms сохранить права доступа --delete-after удалять файлы, которые не были найдены на удалённом сервере, “-after” означает, что удалить их нужно, только после окончания синхранизации.Также есть delete-before, delete-during, delete-excluded и просто delete --password-file Путь, где находится файл с паролем. --port=7777 Указываем порт, через который демон rsync отдаст нам файлы.
Интерестная функция
—backup — старые измененные или удаленные файлы не теряются а переименовываются или перемещаются в заданную чере —backup-dir=DIR директорию. Пример инкрементального бэкапа:
Вспомогательный ман :
man rsync
Настройка CentOS rsync backup
[…] Настройка FreeBSD rsync backup […]