Зачем нужен план отката
План отката — это заранее описанный порядок действий на случай, если миграция пошла не так: сайт не открывается, база данных повреждена или производительность на новом сервере ниже ожидаемой. Без готового плана решение об откате принимают в панике, теряя время на выяснение, что и в каком порядке возвращать.
План пишут до начала миграции, а не после первой ошибки. В нём фиксируют точки отката, критерии принятия решения и пошаговые команды для возврата.
Что фиксировать перед стартом миграции
Перед переносом сохраните снимок состояния старого сервера — он остаётся эталоном, с которым сверяют новый сервер:
mysqldump -u root -p --all-databases > /backup/before_migration_2026_09_29.sql
tar czf /backup/files_before_migration.tar.gz /var/www
dig +short NS example.com > /backup/dns_before_migration.txt
Запишите текущие значения TTL у DNS-записей и текущую версию ПО (PHP, MySQL, веб-сервера) — эти данные понадобятся, если откат придётся делать через неделю после переезда.
Точки отката: DNS, база данных, файлы
Определите три независимые точки, каждую из которых можно откатить отдельно:
| Точка отката | Что возвращаем | Время отката |
|---|---|---|
| DNS | A-записи на старый сервер | от 5 минут до TTL |
| База данных | дамп до начала миграции | 10-30 минут |
| Файлы | архив до переноса | 10-60 минут |
Старый сервер держите включённым и без изменений минимум 7 дней после переключения — это и есть последняя точка отката, если проблема обнаружится не сразу. Общий порядок управления DNS при переезде описан в статье про смену хостинга без простоя.
Критерии принятия решения об откате
Заранее пропишите условия, при которых откат обязателен, а не желателен:
- Сайт возвращает ошибки 500 больше чем на 5% запросов в течение 15 минут.
- Несовпадение количества записей в ключевых таблицах базы данных более чем на 1%.
- Критичный функционал (оплата, авторизация) не работает более 30 минут.
- Производительность страниц упала более чем в 2 раза относительно старого сервера.
Пошаговый откат
Порядок действий при принятом решении об откате:
# 1. Вернуть DNS-записи на старый сервер
# 2. Убедиться, что старый сервер всё ещё принимает запросы
curl -I https://old-server-ip -H "Host: example.com"
# 3. Восстановить базу данных из дампа, если на новом сервере были записи
mysql -u root -p example_db < /backup/before_migration_2026_09_29.sql
# 4. Сообщить пользователям о временной недоступности отдельных функций
Если данные успели измениться на новом сервере после переключения, перед откатом синхронизируйте разницу вручную — иначе пользователи потеряют заказы или комментарии, созданные после переезда.
Тестирование плана отката заранее
Проверьте план на тестовом окружении до реальной миграции: разверните копию сайта, выполните перенос, а затем откатите его по написанному плану. Замерьте реальное время отката — оно должно укладываться в допустимое время простоя, согласованное с владельцем сайта.
Итог: чек-лист готовности к откату
- Снимите дамп базы данных и архив файлов непосредственно перед миграцией.
- Зафиксируйте текущие NS-записи и TTL до изменений.
- Опишите три точки отката: DNS, база данных, файлы.
- Пропишите числовые критерии, при которых откат обязателен.
- Протестируйте план отката на копии сайта заранее.
После успешного переключения, независимо от того, был откат или нет, пройдите общий чек-лист проверки после миграции, а для самого переноса базы используйте инструкцию по переносу базы данных MySQL.