Я использовал rsnapshot
успешно в течение многих лет для резервного копирования моих ноутбуков Ubuntu на мой сервер Ubuntu. Недавно я решил перейти на использование sync_first
вариант на сервере и anacron
поработайте на моем ноутбуке, чтобы получать более стабильные резервные копии, поскольку мой ноутбук не всегда включен. В случае, если это имеет значение, я также выполнял резервное копирование с помощью ноутбука ежечасно, но переключился на ежедневный, когда попытался включить sync_first
. Теперь у меня две проблемы:
.sync
папка вместо ее копирования, что приводит к тому, что результирующая синхронизация из записной книжки каждый раз становится полной резервной копиейВот мои соответствующие файлы:
/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 для каждого "интервала", чтобы активировать таймеры