Резервное копирование файлов при помощи Rsync
Установка Rsync
# yum install rsync
Создание резервной копии:
# rsync -vrca --delete /var/www/owncloud_disk/ /opt/backups/cloud_disk/
-v — вывод процесса копирования
-a — сохранять время и дата из файла источника
-r — рекурсивно (все вложения директорий)
-c — проверка изменения файла по хэш-сумме
—delete — удалять файлы и папки отсутствующие в источнике
Пример задания для CRON:
# rsync -vrca --delete /var/www/owncloud_disk/ /opt/backups/cloud_disk/ >> /var/log/rsync/cloud_disk/$(date +\%Y-\%m-\%d-\%H-\%M-\%S).log &
Копирование с удаленного сервера (бекап сайта)
на удаленном сервере установить Rsync
на удаленном создать файл конфигурации /etc/rsyncd.conf и заполнить
[site]
path = /home/user/site
uid = root
read only = yes
list = yes
comment = Data backup Dir
auth users = backup
secrets file = /etc/rsyncd.scrt
на удаленном создать файл /etc/rsyncd.scrt и заполнить
backup:12345
на удаленном сделать нужно файл только на чтение
# chmod 0600 /etc/rsyncd.scrt
на удаленном запустить и добавить в автозапуск сервис
# systemctl enable rsyncd
# systemctl start rsyncd
на текущем сервере для копии выполнить:
# rsync -zav --delete rsync://backup:12345@192.168.1.32/site/ /opt/backups/sites/site/
-z — сжимать файлы при копировании
Логирование
в начало файла /etc/rsyncd.scrt добавить
log file = /var/log/rsyncd.log
transfer logging = true
munge symlinks = yes
Ротация логов:
создать файл /etc/logrotate.d/rsyncd и заполнить
/var/log/rsyncd.log {
size=500k
compress
rotate 4
missingok
notifempty
}
в примере размер файла логов будет до 500 кб и будет создано до 4 файлов в историю
Ошибки
ERROR: password file must not be other-accessible
задать файлу права:
# chmod 0600 /etc/rsyncd.scrt