# План отката миграции: как безопасно вернуться назад

> План отката миграции сайта: три точки отката, числовые критерии решения и пошаговые команды для возврата на старый сервер без потери данных.

## Зачем нужен план отката

План отката — это заранее описанный порядок действий на случай, если миграция пошла не так: сайт не открывается, база данных повреждена или производительность на новом сервере ниже ожидаемой. Без готового плана решение об откате принимают в панике, теряя время на выяснение, что и в каком порядке возвращать.

План пишут до начала миграции, а не после первой ошибки. В нём фиксируют точки отката, критерии принятия решения и пошаговые команды для возврата.

## Что фиксировать перед стартом миграции

Перед переносом сохраните снимок состояния старого сервера — он остаётся эталоном, с которым сверяют новый сервер:

```
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 при переезде описан в статье [про смену хостинга без простоя](https://www.zevshost.net/ru/kb/migratsia-dns-bez-prostoya/).

## Критерии принятия решения об откате

Заранее пропишите условия, при которых откат обязателен, а не желателен:

- Сайт возвращает ошибки 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, база данных, файлы.
- Пропишите числовые критерии, при которых откат обязателен.
- Протестируйте план отката на копии сайта заранее.

После успешного переключения, независимо от того, был откат или нет, пройдите общий [чек-лист проверки после миграции](https://www.zevshost.net/ru/kb/migratsia-proverka-posle/), а для самого переноса базы используйте [инструкцию по переносу базы данных MySQL](https://www.zevshost.net/ru/kb/perenesti-bazu-dannykh/).

---

Источник: https://www.zevshost.net/ru/kb/migratsia-plan-otkata/
