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