~/home

Restic на второй диск: скучно, зато работает

· бэкапы

TL;DR: Бэкапы restic по systemd-таймеру (OnCalendar, RandomizedDelaySec, Persistent=true), очистка старых снапшотов через restic forget --prune, репозиторий и пароль в EnvironmentFile и пробное восстановление раз в месяц.

Перепробовал несколько инструментов для бэкапов с веб-интерфейсом и в итоге вернулся к restic и systemd-таймеру. Работает только тот бэкап, который запускается без моего участия.

Сервис

# /etc/systemd/system/restic-backup.service
[Unit]
Description=restic backup

[Service]
Type=oneshot
EnvironmentFile=/etc/restic/env
ExecStart=/usr/bin/restic backup /etc /home /srv --exclude-caches
ExecStartPost=/usr/bin/restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

В /etc/restic/env лежат RESTIC_REPOSITORY и RESTIC_PASSWORD_FILE. Права на файл — chmod 600.

Таймер

# /etc/systemd/system/restic-backup.timer
[Timer]
OnCalendar=*-*-* 03:30
RandomizedDelaySec=20m
Persistent=true

[Install]
WantedBy=timers.target

Persistent=true запускает пропущенный бэкап при следующей загрузке. Это важно для машины, которая в 3:30 бывает выключена.

То, что обычно пропускают

Раз в месяц стоит восстановить случайный файл куда-нибудь в сторону и открыть его. restic check --read-data-subset=5% тоже полезен, но он не покажет, получится ли найти нужный файл, когда он действительно понадобится.