Резервное копирование 3-2-1: как настроить и проверить восстановление

Резервная копия, из которой ни разу не восстанавливались, это предположение, а не копия. Ниже схема 3-2-1 для Linux-сервера и порядок проверки, который стоит делать регулярно.
Что означает 3-2-1
- 3 копии данных: рабочая и две резервные.
- 2 разных типа носителей или хранилищ (например, диск сервера и объектное хранилище).
- 1 копия вне площадки, куда нельзя попасть с основного сервера по тем же учётным данным.
Последний пункт самый важный. Шифровальщик и злоумышленник с правами администратора удаляют копии, до которых дотягиваются с заражённого сервера.
Что копировать
| Что | Как |
|---|---|
Файлы и конфигурации (/etc, /home, данные приложений) |
Borg или rsync |
| Базы данных | Дамп (mysqldump, pg_dump) до копирования файлов, а не копия «живых» файлов БД |
| Образ системы | Снимки гипервизора или LVM, если нужно быстро поднять сервер целиком |
Шаг 1. Инструмент для копий
Для файлов подойдёт Borg: дедупликация, шифрование, проверка целостности. Установка и первый репозиторий разобраны в статье резервное копирование в Linux с Borg. Если нужно просто синхронизировать каталоги, смотрите rsync для бэкапа.
Шаг 2. Копия вне площадки
Настройте отправку копий на другой сервер или в облачное хранилище. Учётная запись на удалённой стороне должна уметь только добавлять данные, а не удалять их. Для Borg это ограничение ключа borg serve --append-only в authorized_keys на стороне хранилища. Тогда даже при компрометации основного сервера старые копии остаются целыми.
Шаг 3. Расписание и уведомления
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
Скрипт должен завершаться с кодом ошибки при сбое и отправлять уведомление. Копия, которая молча не делалась три месяца, обнаруживается в момент аварии. Контролировать запуск можно через мониторинг: мониторинг в Zabbix.
Шаг 4. Проверьте восстановление
Раз в квартал восстановите данные на чистую машину и убедитесь, что приложение работает. Для Borg:
borg list REPO
borg check REPO
mkdir /tmp/restore && cd /tmp/restore
borg extract REPO::ARCHIVE etc/nginx
Запишите время, за которое вы восстановились, это ваш реальный RTO. Если оно больше допустимого простоя, схему нужно менять, а не документировать.
Типовые ошибки
- Копия лежит на том же диске или в том же гипервизоре, что и сервер.
- Ключ шифрования хранится только на сервере, который копируете. Положите его в менеджер паролей или сейф.
- Копируются файлы БД во время записи. Делайте дамп.
- Нет контроля места: хранилище заполнилось, копии перестали создаваться.
Как проверить
Критерий один: вы выполнили восстановление по инструкции и приложение открылось. Всё остальное, от размера архива до зелёного статуса, лишь косвенные признаки. Базовый порядок для нового сервера: hardening Linux.




















