Резервное копирование файлов при помощи 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