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

Почему rsnapshot с sync_first не работает должным образом?

Я использовал rsnapshot успешно в течение многих лет для резервного копирования моих ноутбуков Ubuntu на мой сервер Ubuntu. Недавно я решил перейти на использование sync_first вариант на сервере и anacron поработайте на моем ноутбуке, чтобы получать более стабильные резервные копии, поскольку мой ноутбук не всегда включен. В случае, если это имеет значение, я также выполнял резервное копирование с помощью ноутбука ежечасно, но переключился на ежедневный, когда попытался включить sync_first. Теперь у меня две проблемы:

Вот мои соответствующие файлы:

/etc/rsnapshot_josh-notebook.conf (на сервере)

config_version  1.2

snapshot_root   /backups/rsnapshot/josh-notebook/

cmd_cp          /bin/cp
cmd_rm          /bin/rm
cmd_rsync       /home/josh/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_logger      /usr/bin/logger
cmd_du          /usr/bin/du

cmd_postexec    /usr/bin/rsync -az -P -H --numeric-ids --delete --rsync-path="sudo /rsync-3.1.1" --rsh="ssh -p 30535 -i /home/ssh_Backups/.ssh/id_rsa" /backups/rsnapshot/happycomputer/DaysA$

retain          daily           7
retain          weekly  4
retain          monthly 12
retain          yearly  10

verbose         2
loglevel        3
lockfile        /var/run/rsnapshot.pid

rsync_short_args        -azH
rsync_long_args --delete --numeric-ids --relative --delete-excluded --rsync-path="sudo /rsync-3.1.1"
ssh_args        -p 30535 -i /home/ssh_Backups/.ssh/id_rsa

exclude         *.log
exclude         *.tmp

link_dest       1
sync_first      1
use_lazy_deletes        1

backup  ssh_Backups@josh-notebook:/     ./

/etc/cron.d/rsnapshot (на сервере)

15   1 * * *    root    /usr/bin/rsnapshot -c /etc/rsnapshot_josh-notebook.conf daily   >> /backups/rsnapshot/_logs/rsnapshot_josh-notebook.log 2>&1
15   2 * * 0    root    /usr/bin/rsnapshot -c /etc/rsnapshot_josh-notebook.conf weekly  >> /backups/rsnapshot/_logs/rsnapshot_josh-notebook.log 2>&1
15   5 1 * *    root    /usr/bin/rsnapshot -c /etc/rsnapshot_josh-notebook.conf monthly >> /backups/rsnapshot/_logs/rsnapshot_josh-notebook.log 2>&1
15   8 1 1 *    root    /usr/bin/rsnapshot -c /etc/rsnapshot_josh-notebook.conf yearly  >> /backups/rsnapshot/_logs/rsnapshot_josh-notebook.log 2>&1

/etc/anacrontab (на ноутбуке)

# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root

# These replace cron's entries
1   5   cron.daily  run-parts --report /etc/cron.daily
7   10  cron.weekly run-parts --report /etc/cron.weekly
@monthly    15  cron.monthly    run-parts --report /etc/cron.monthly

1   30  ssh_Backups sudo -u ssh_Backups ssh -p 30535 ssh_Backups@happycomputer "sudo /usr/bin/rsnapshot -c /etc/rsnapshot_josh-notebook.conf sync" >/tmp/ssh_Backups.errors 2>&1

Когда я бегу sudo /usr/bin/rsnapshot -t -c /etc/rsnapshot_josh-notebook.conf daily на сервере он выводит:

echo 5246 > /var/run/rsnapshot.pid 
mv /backups/rsnapshot/josh-notebook/daily.4/ \
    /backups/rsnapshot/josh-notebook/daily.5/ 
mv /backups/rsnapshot/josh-notebook/daily.3/ \
    /backups/rsnapshot/josh-notebook/daily.4/ 
mv /backups/rsnapshot/josh-notebook/.sync/ \
    /backups/rsnapshot/josh-notebook/daily.0/ 

Основываясь на некотором поиске в Google, я думаю, что последняя строка должна быть cp -al вместо mv, поэтому моя папка .sync исчезает, и клиенту приходится делать полную резервную копию при каждом запуске.

Кто-нибудь из вас может сказать мне, если вы видите что-то не так с моей конфигурацией? Перед включением sync_first, он отлично делал резервные копии ...

Удаление строки «link_dest 1» в файле rsnapshot.conf устраняет проблему, когда rsnapshot выполняет mv вместо cp -al в каталоге .sync, по крайней мере, в моей версии (rsnapshot 1.4.2 в OpenSuse 15.1).

Поскольку я создаю резервные копии только файлов данных, а не системных файлов, я запускаю rsnapshot в своей учетной записи как на ноутбуке, так и на сервере резервного копирования. На моем ноутбуке я использую kalarm для планирования rsync с сервером резервного копирования, а на сервере резервного копирования я использую таймеры systemd., То есть файлы rsnapshot- "interval" .service, вызывающие rsnapshot "interval" и rsnapshot- "interval" .timer планирование времени. выполнение соответствующей службы в / etc / systemd / system для каждого «интервала» (ежедневно, еженедельно, ежемесячно, ежегодно). Как только файлы будут там, нужно сделать: sudo systemctl enable rsnapshot- "interval" .timer для каждого "интервала", чтобы активировать таймеры