Резервное копирование: как не потерять данные
Данные — самое ценное на сервере. Их нельзя «переустановить», «обновить» или «перезагрузить». Если они потеряны — потеряны навсегда. По статистике, 60% компаний, потерявших критичные данные, закрываются в течение года. 93% компаний без бэкапов уходят с рынка после серьёзного сбоя.
Хорошая новость: бэкапы — это просто. Стратегия, автоматизация, регулярное тестирование — и ваши данные в безопасности. В этой статье — практическое руководство по резервному копированию. Если нужно настроить бэкапы на сервере — поможем.
Почему это важно
Данные теряются по разным причинам.
Атаки и взломы
Хакеры удаляют или шифруют данные. Требуют выкуп. Без бэкапа — данные потеряны.
Ошибки и баги
Ошибка в скрипте удалила данные. Обновление сломало БД. Неверный запрос испортил таблицу.
Аппаратные сбои
Диск вышел из строя. Питание отключилось в неподходящий момент. RAID не спас от сбоя контроллера.
Человеческий фактор
Случайное удаление. Неверная команда. Забыли сделать бэкап перед изменениями.
Правила бэкапов
Классическое правило 3-2-1 — стандарт в индустрии.
Три копии
Три копии данных: одна рабочая, две резервные. Не полагайтесь на одну копию.
Два носителя
Храните копии на разных типах носителей: например, SSD и облако. Разные типы отказов.
Одна вне офиса
Минимум одна копия — в удалённом месте. Облако, другой дата-центр, офисный диск.
💡 Важно
Бэкап, который хранится на том же сервере, что и данные, — не бэкап. Если сервер упадёт, вы потеряете и данные, и бэкап.
Что копировать
Бэкап должен включать всё, что нужно для полного восстановления.
- Файлы сайта: весь код, статику, загрузки;
- Базы данных: MySQL, PostgreSQL, MongoDB. Дампы всех БД;
- Конфигурации: Nginx, Apache, PHP, MySQL, системные;
- Пользовательские данные: домашние директории, конфиги;
- Сертификаты: SSL, SSH-ключи;
- Cron-задачи: список запланированных задач;
- Логи: только критичные, для разбора инцидентов.
Что не обязательно копировать:
- Кеш (создаётся заново);
- Временные файлы (/tmp);
- Пакеты, которые можно установить заново;
- Полные логи, если не нужны для аудита.
Как часто
Частота бэкапов зависит от того, сколько данных вы готовы потерять. Это называется RPO (Recovery Point Objective).
| Тип проекта | Частота бэкапов | RPO |
|---|---|---|
| Блог, лендинг | Раз в день | 24 часа |
| Корпоративный сайт | Раз в день | 24 часа |
| Интернет-магазин | 2–4 раза в день | 6–12 часов |
| CRM, SaaS | Каждые 1–4 часа | 1–4 часа |
| Финансовые системы | Непрерывно / каждые 15 мин | 15 минут |
Также важно RTO (Recovery Time Objective) — время, за которое вы можете восстановить данные. Чем чаще бэкапы — тем быстрее восстановление.
Где хранить
Место хранения — критично. Бэкап на том же сервере не имеет смысла.
Облачные хранилища
S3, Google Cloud Storage, Яндекс Object Storage. Надёжно, дёшево, доступно из любой точки.
Внешние диски
NAS, внешние HDD, ленточные библиотеки. Для больших объёмов и долгосрочного хранения.
Другой сервер
Отдельный сервер или VDS, предназначенный только для бэкапов. Не зависит от основного.
Гибрид
Комбинация облака и локального хранилища. Для максимальной надёжности.
Автоматизация
Ручные бэкапы забываются. Автоматизация — обязательна.
Инструменты
- rsync: базовая синхронизация файлов. Просто, надёжно;
- Borg: дедупликация, шифрование, инкрементальные бэкапы;
- Restic: современный инструмент с шифрованием;
- Duplicity: инкрементальные бэкапы с шифрованием;
- Bacula / Amanda: для enterprise-задач;
- Скрипты + Cron: простой способ для небольших проектов.
Пример Cron-задачи
Ежедневный бэкап в 3:00 ночи:
0 3 * * * /usr/local/bin/backup.sh- Скрипт делает дамп БД, архивирует файлы, загружает в облако;
- Отправляет уведомление об успехе или ошибке.
Мониторинг бэкапов
Бэкап может «молча» сломаться. Настройте оповещения:
- Проверка, что бэкап создан;
- Проверка размера (не пустой, не аномально большой);
- Проверка загрузки в облако;
- Уведомление в Telegram или на email при ошибке.
Тестирование
Бэкап без тестирования — это не бэкап. Вы не знаете, восстановится ли он. Правило: раз в месяц восстанавливайте бэкап на тестовом сервере.
Что проверять
- Целостность: архив открывается, файлы на месте;
- Полнота: все данные включены, ничего не забыто;
- Восстановление: сайт/приложение работает после восстановления;
- Время: сколько занимает восстановление. Укладывается ли в RTO;
- Документация: процесс восстановления описан и понятен.
⚠️ Частая ошибка
Бэкапы создаются годами, но никогда не тестируются. При реальной потере данных выясняется, что архив повреждён или неполный. Тестирование — обязательно.
Безопасность бэкапов
Бэкапы содержат все данные. Их нужно защищать так же тщательно, как основной сервер.
- Шифрование: шифруйте бэкапы. Если кто-то получит доступ к архиву — данные не прочитает;
- Доступ: ограничьте доступ к хранилищу бэкапов. Только администраторы;
- Изоляция: хранилище бэкапов не должно быть связано с основным сервером. Взлом сервера не должен дать доступ к бэкапам;
- Иммутабельность: некоторые облака поддерживают immutable-хранилище — данные нельзя удалить даже администратору;
- Пароли: отдельные пароли для бэкапов. Не те, что от основного сервера.
Чек-лист бэкапов
Стратегия
- Правило 3-2-1
- Определён RPO
- Определён RTO
- Все данные включены
- Хранение вне сервера
Технически
- Автоматизация настроена
- Уведомления работают
- Шифрование включено
- Доступ ограничен
- Ротация настроена
Тестирование
- Раз в месяц — восстановление
- Проверка целостности
- Замер времени восстановления
- Документация процесса
- Обучение команды
Чего НЕ делать
- Хранить бэкап на том же сервере
- Делать бэкапы вручную
- Не тестировать восстановление
- Не шифровать бэкапы
- Полагаться на RAID
Наши рекомендации
📌 Что вы получаете, заказывая настройку бэкапов у нас
- Стратегию — 3-2-1, RPO, RTO
- Автоматизацию — Cron, rsync, Borg
- Внешнее хранилище — S3, облако
- Шифрование — данные защищены
- Мониторинг — уведомления об ошибках
- Тестирование — раз в месяц восстановление
📌 Итоговый вывод
Резервное копирование — это страховка, которая спасает бизнес.
Что нужно знать:
- Почему — атаки, ошибки, сбои, человеческий фактор
- Правило 3-2-1 — три копии, два носителя, одна вне офиса
- Что копировать — файлы, БД, конфиги, сертификаты
- Как часто — зависит от RPO: от 24 часов до 15 минут
- Где хранить — облако, внешний диск, отдельный сервер
- Автоматизация — rsync, Borg, Restic, Duplicity + Cron
- Тестирование — раз в месяц восстановление
- Безопасность — шифрование, изоляция, ограничение доступа