ru

Restic backup в офшорном S3 хранилище

Restic - современный open-source инструмент для бэкапов на Go с шифрованием AES-256 на стороне клиента, дедупликацией на уровне content-defined chunks, snapshots для point-in-time recovery, и поддержкой backends - S3, B2, GCS, Azure, SFTP, REST server, локальный диск. На офшорном VPS Anubiz Host вы поднимаете MinIO как S3 endpoint и пишете туда инкрементальные бэкапы с любого числа источников.

Need this done for your project?

We implement, you ship. Async, documented, done in days.

Start a Brief

Как работает Restic под капотом

Restic делит файлы на chunks через rolling hash CDC алгоритм, хеширует каждый chunk через SHA-256, сохраняет уникальные chunks один раз. Изменения в файле создают только новые chunks для изменённых участков - остальное переиспользуется. Это даёт огромную экономию места при ежедневных бэкапах больших баз данных или mailbox - реальный delta обычно 1-3% при изменении 10-20% контента. Все chunks шифруются ключом, который генерируется при инициализации репозитория. Ключ выводится из вашего пароля через scrypt KDF. Без пароля данные нечитаемы даже если злоумышленник получил доступ к S3 хранилищу. Snapshots - это метаданные, описывающие состояние файловой системы в момент времени. Восстановление - чтение nужных chunks по snapshot tree.

Бэкап с production серверов на офшор

Сценарий - в России production сервер с базой PostgreSQL и WordPress uploads. На офшорном VPS Anubiz Host развёрнут MinIO S3 endpoint с 500 GB диска. С production сервера через cron каждую ночь запускается restic backup с шифрованием через свой пароль. Полный первоначальный бэкап 50 GB занимает 3-4 часа через 100 Mbps канал. Последующие incremental по 200-500 MB занимают 5-10 минут. Через 30 дней в S3 примерно 80 GB сжатых дедуплицированных данных, представляющих 30 snapshots. Восстановление одной таблицы PostgreSQL занимает минуты - restic restore читает только нужные chunks. Disaster recovery полный - 50 GB - 2-3 часа на чистый сервер.

Сценарии и автоматизация

Типичная автоматизация Restic - systemd timer или cron, который вызывает restic backup с списком директорий, потом restic forget с retention policy типа keep-daily 7 keep-weekly 4 keep-monthly 12. Для PostgreSQL правильная цепочка - pg_dump в pipe в restic backup --stdin-filename, чтобы получить транзакционно-консистентный снапшот. Для mailbox - rsync в tmp, потом restic backup на tmp. Логи отправлять в healthchecks.io или в свой Uptime Kuma, чтобы получать алерты если бэкап не отработал. На офшорном VPS дополнительно поднимаем restic-server в REST режиме для прямого доступа без MinIO overhead, или продолжаем использовать MinIO как универсальный S3 endpoint для интеграции с другими инструментами.

Why Anubiz Host

100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included

Ready to get started?

Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.

Anubiz Chat AI

Online