Резервные копии: правило 3–2–1
Правило 3–2–1 — минимальная схема, при которой данные переживают почти любую беду: 3 копии данных, на 2 разных носителях, 1 копия — вне площадки (в другом месте). Статья показывает, как собрать эту схему для типового проекта на VPS без бюрократии.
Зачем три
Заголовок раздела «Зачем три»- Копия 1 — рабочие данные на сервере. Это не бэкап, это точка отсчёта.
- Копия 2 — бэкапы панели (включить за минуту): автоматические снапшоты диска на отдельном хранилище. Закрывает «сломал конфиг», «обновление пошло не так», сбой диска.
- Копия 3 — вне площадки: то, что спасает от редкого, но фатального — удаления сервера вместе с его бэкапами (после 14 дней приостановки), угона аккаунта, отказа хранилища. Варианты: другой облачный провайдер, ваш компьютер, S3-бакет другого аккаунта.
Два носителя
Заголовок раздела «Два носителя»«Разные носители» сегодня = «разные независимые хранилища»: дисковое хранилище бэкапов панели и объектное хранилище/S3/ваш ПК. Механика разная — значит, и отказывают они не одновременно.
Как собрать копию «вне площадки»
Заголовок раздела «Как собрать копию «вне площадки»»Дампы и файлы по SSH — простой и честный путь:
# база данныхpg_dump -h хост -U пользователь имя_базы | gzip > db-$(date +%F).sql.gz# или mysqldump --single-transaction ...
# файлы проектаrsync -avz root@адрес:/var/www/проект/ ~/backup/проект/Автоматизируйте cron’ом на вашей машине (или втором сервере) — машина, которая делает копию, должна не быть тем же сервером, что и данные.
Проверка — главный шаг, о котором забывают
Заголовок раздела «Проверка — главный шаг, о котором забывают»Копия, которую ни разу не восстанавливали, — это надежда, а не бэкап. Раз в месяц:
- Восстановите копию на тестовой цели (или локально в docker).
- Убедитесь, что приложение поднимается и данные читаются.
- Запишите, сколько времени заняло восстановление — это и есть ваш реальный RTO.
Проверка результата
Заголовок раздела «Проверка результата»На вопрос «что будет, если сервер исчезнет прямо сейчас?» у вас есть три честных ответа: где копии, как восстанавливать, сколько это займёт.
Если что-то пошло не так
Заголовок раздела «Если что-то пошло не так»| Симптом | Причина | Что делать |
|---|---|---|
| Бэкапы есть, а восстановить нечего | Дамп пустой/битый уже давно | Проверка восстановления раз в месяц; алерты на размер дампа |
| Все копии в одном аккаунте | Схема не 3–2–1, а 3–1–0 | Вынесите копию в независимое место |
| «Некогда проверять» | Это самая дорогая экономия | Начните с одного теста квартал — 15 минут |
Частые вопросы
Заголовок раздела «Частые вопросы»Бэкапы панели — разве не всё, что нужно?
Они закрывают большинство сценариев и стоят копейки. «Вне площадки» нужен от сценария «исчез весь аккаунт/хранилище» — редко, но именно такие случаи фатальны.
Как часто делать копии?
Ответ = сколько данных вы готовы потерять. Бэкапы панели: ежедневно по расписанию (или еженедельно для стабильных проектов). Дампы наружу — хоть ежечасно, cron не жалуется.
Сколько хранить?
Типовая схема «дед»: 7 дневных, 4 недельных, 3–6 месячных. Бэкапы панели: до 3 копий на сервер, для длинной истории — наружу.