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