Я установил rsnapshot с конфигурацией ниже, и, похоже, он работает нормально. Однако, если я правильно понимаю то, что прочитал, в документации по rsnapshot и в других руководствах операция будет более надежной с добавлением следующих параметров:
link_dest 1
sync_first 1
use_lazy_deletes 1
Однако, когда я включил их, особенно sync_first, похоже, что он работает некорректно. Ошибок нет, но вроде ничего не происходит (см. Последний блок кода ниже). Конфигтест успешно завершается. Я подозреваю, что мне что-то не хватает о том, как использовать sync_first. Во-первых, я хотел бы знать, действительно ли эти три параметра полезны при совместном использовании (без конфликтов), а во-вторых, есть ли разница в способе вызова rsnapshot в cron после включения sync_first?
Он установлен в Ubuntu 14.04 с rsnapshot 1.3.1, а rsync имеет параметр link_dest. Спасибо за любые указания по этому поводу, официальная документация немного суховата.
Конф
config_version 1.2
snapshot_root /srv/rsnapshot/
no_create_root 0
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger /usr/bin/logger
cmd_du /usr/bin/du
cmd_rsnapshot_diff /usr/bin/rsnapshot-diff
retain HoursAgo 6
retain DaysAgo 7
retain WeeksAgo 4
#retain monthly 3
verbose 5
loglevel 3
logfile /var/log/rsnapshot.log
lockfile /var/run/rsnapshot.pid
rsync_long_args --stats --delete --numeric-ids --relative --delete-excluded
ssh_args -p 22
# host.mydomain.net
backup root@host.mydomain.net:/etc/ host.mydomain.net/
backup root@host.mydomain.net:/srv/www/ host.mydomain.net/
backup_script /usr/bin/ssh root@host.mydomain.net "rm -rf /var/local/mysqlbak/" unused/
backup_script /usr/bin/ssh root@host.mydomain.net "/usr/local/bin/mysql_bak.sh" unused1/
backup root@host.mydomain.net:/var/local/mysqlbak/ host.mydomain.net/mysql/
Cron
0 */4 * * * root /usr/bin/rsnapshot hourly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup" myemail@domain.com
30 3 * * * root /usr/bin/rsnapshot daily 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Daily Backup" myemail@domain.com
0 3 * * 1 root /usr/bin/rsnapshot weekly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Weekly Backup" myemail@domain.com
Результаты бега со всеми тремя включенными дополнительными опциями:
root@backup:~# rsnapshot HoursAgo
require Lchown
Lchown module loaded successfully
Setting locale to POSIX "C"
echo 3567 > /var/run/rsnapshot.pid
mv /srv/rsnapshot/HoursAgo.3/ /srv/rsnapshot/HoursAgo.4/
mv /srv/rsnapshot/HoursAgo.2/ /srv/rsnapshot/HoursAgo.3/
mv /srv/rsnapshot/HoursAgo.1/ /srv/rsnapshot/HoursAgo.2/
mv /srv/rsnapshot/HoursAgo.0/ /srv/rsnapshot/HoursAgo.1/
No directory to delete: /srv/rsnapshot/_delete.3567
rm -f /var/run/rsnapshot.pid
/usr/bin/logger -i -p user.info -t rsnapshot /usr/bin/rsnapshot HoursAgo: \
completed successfully
Это происходит мгновенно, без подключения к пульту дистанционного управления и без времени для проверки измененных файлов.
Обновить: Я нашел дополнительную информацию о sync_first на страницах Ubuntu на rsnapshot. Я отредактировал свой cron, добавив rsnapshot sync &&
напротив hourly
линия:
0 */4 * * * root /usr/bin/rsnapshot sync && /usr/bin/rsnapshot hourly 2>&1 | \/usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup" myemail@domain.com
Кажется, это работает, когда я запускал его вручную.
Я все еще хотел бы знать: Полезно ли использовать вместе эти три дополнительных варианта?
Я также могу сбросить статистику, чтобы получать электронное письмо только в случае ошибки.
Ты должен позвонить rsnapshot sync
перед звонком rsnapshot <level>
.