Серверы ломаются, люди по ошибке удаляют данные, обновления проходят неудачно, учётные записи взламывают. Ничего из этого нельзя исключить полностью. Контролировать можно другое: сколько данных вы потеряете и как долго будет простаивать бизнес.
Решите, что вы можете позволить себе потерять
План определяют два вопроса. Сколько данных можно потерять - последний час, последний день? И как долго система может быть недоступна - минуты, часы, сутки? Магазину, который принимает заказы круглосуточно, нужны частые копии и быстрое восстановление; сайту компании, который меняется раз в месяц, хватит ежедневных копий.
Копируйте всё, что важно
База данных - очевидная часть, но не единственная. Загруженные файлы и изображения, конфигурация, настройки окружения, запланированные задачи и точная версия кода тоже нужны, чтобы вернуть систему к жизни. Один раз запишите полный список и обновляйте его по мере роста системы.
Храните копии больше чем в одном месте
Копия на том же сервере, что и система, исчезнет вместе с ним. Храните копии в отдельном месте - у другого провайдера или в другом регионе - и держите хотя бы одну копию, которую нельзя изменить или удалить из основной системы. Это защищает и от отказов оборудования, и от атак, которые пытаются зашифровать или стереть данные.
Автоматизируйте и следите
Ручные копии забывают сделать именно тогда, когда они нужнее всего. Настройте автоматическое расписание, храните историю из нескольких версий и включите оповещение, если копия не создалась или оказалась подозрительно маленькой.
Проверяйте восстановление
Копия, которую ни разу не восстанавливали, - это надежда, а не план. Регулярно восстанавливайте копию в отдельное окружение и проверяйте, что система работает, а данные полные. Засеките, сколько это занимает: это и есть ваше реальное время восстановления.
Запишите шаги восстановления
Когда что-то ломается, стресс высокий, а времени мало. Короткий документ с порядком действий, местом хранения копий, нужными доступами и контактами людей превращает восстановление в рутинную процедуру.
Коротко
Определите допустимую потерю данных и время простоя, копируйте базу, файлы и конфигурацию, храните копии отдельно и защитите хотя бы одну от удаления, автоматизируйте и следите, регулярно проверяйте восстановление и опишите шаги. Тогда сбой - это инцидент, а не катастрофа.