Резервное копирование файлов при помощи 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
открыть порт
firewalld:
firewall-cmd --permanent --add-port=873/tcp
firewall-cmd --reload
iptables:
iptables -I INPUT 1 -p tcp --dport 873 -j ACCEPT
на текущем сервере для копии выполнить:
rsync -zav --delete rsync://backup:12345@192.168.1.32/site/ /opt/backups/sites/site/
-z — сжимать файлы при копировании
копировать с исключением файлов и папок:
rsync -vrca --exclude={'bitrix/cache','bitrix/.settings.php','bitrix/managed_cache'} --delete bitrix@УДАЛЕННЫЙ_СЕРВЕР:/home/bitrix/www .
Логирование
в начало файла /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