Restic шифрует и дедуплицирует данные, но не угадывает, что именно важно приложению. Базу сначала выгружайте её штатным инструментом, а уже затем добавляйте дамп в файловый snapshot.
Первый запуск
Передайте пароль репозитория через защищённый файл с правами 600, а не аргумент командной строки:
export RESTIC_REPOSITORY=/mnt/backup/restic
export RESTIC_PASSWORD_FILE=/etc/restic/password
restic init
restic backup /srv/app /srv/backups/database.dump --exclude-file=/etc/restic/excludes
restic snapshots
Для удалённого хранилища настройте отдельные ограниченные credentials. Не храните единственную копию репозитория на том же диске.
Retention и проверка
restic forget --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --prune
restic check --read-data-subset=5%
forget без --prune только меняет список snapshot. Полное чтение всех данных запускайте периодически, а не обязательно после каждого бэкапа.
Тест восстановления
mkdir -p /tmp/restic-restore
restic restore latest --target /tmp/restic-restore
Запустите приложение или хотя бы проверьте структуру, права, контрольные суммы и восстановление базы. Логируйте код завершения команды и время последнего успешного snapshot. Уведомление о неудаче важнее красивого расписания.
Официальные источники