restic — CLI-инструмент резервного копирования, написан на Go. Ключевые фичи: (1) end-to-end шифрование AES-256 (данные никогда не покидают устройство в открытом виде), (2) content-addressable storage — файлы разбиваются на chunk'и, дедупликация автоматически (backup вчерашнего и сегодняшнего каталога занимает лишь diff), (3) incremental snapshots мгновенно, (4) бэкенды: local, SFTP, S3, B2, Azure, Google Cloud, REST-server.
Использование: ``` export RESTIC_REPOSITORY=s3:s3.eu-central-1.amazonaws.com/mybackup export RESTIC_PASSWORD=secret restic init # первый раз restic backup /var/www /etc # инкрементальный snapshot restic snapshots # список restic restore latest --target /tmp/restore ``` Одна команда — всё. Cron с retry-логикой + monitoring — готовое решение.
vs альтернативы: (1) Borg — то же самое, но Python + собственный протокол (не работает с S3 напрямую, нужен borgbase.com). (2) duplicity — старый, PGP-based. (3) rsync — простой, но без шифрования и дедупликации. (4) cloud-native (AWS Backup, Cloudberry) — vendor lock-in. Restic — sweet spot.
Практика для нашего VPS: `restic` в 5 строк bash-скрипта + cron ежедневно → снапшоты в B2/Wasabi ($6/ТБ) с шифрованием. Готовый playbook — в `/docs/backup-restic`.