Назад | Перейти на главную страницу

Использование Rsnapshot с sync_first, link_dest и use_lazy_deletes

Я установил 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>.