7 минут
Во время переезда на новый хостинг сервер не работал около семи минут.
На сервере находятся две версии архива: обычная и отладочная. Естественно, они используют разные базы данных. Поэтому можно довольно свободно экспериментировать с отладочной версией, не боясь поломать основную. Когда отладочная версия работает хорошо, можно сделать hg pull path_to_dev && hg update
, и обычная версия обновится до отладочной.
Процедура переезда была такова:
- Копирование исходников обеих версий на новый сервер.
- Изменение исходников отладочной версии до рабочего состояния (в основном исправление путей к файлам и путей на сервере).
-
Отключение возможности записи в базу данных на старом сервере. Да, это довольно грубый хак, но в рассылке все были предупреждены. В MySQL это делается приблизительно так:
mysql> REVOKE INSERT,DELETE,UPDATE on db.* from 'usr'@'localhost'; flush privileges;
-
Создание на новом домене (DNS запись которого была предусмотрительно переведена на новый сервер) новой рабочей копии архива. Для этого на старом сервере делаем:
python manage.py dumpdata > backup.json
. Затем на новомpython manage.py syncdb
,python manage.py
(вывод передаём в ваш любимый клиент) иpython manage.py loaddata backup.json
. - Создание редиректа при помощи mod_rewrite со старого сервера на новый (несколько простых правил). Собственно, на этом пункте и возник простой. Он длился точно не более 7 минут, а скорее всего меньше. Если бы я не поленился и отладил правила для mod_rewrite на другом сервере, то задержка составляла бы несколько секунд.
- Поднятие виртуального хоста для старого домена на новом сервере.
- Изменение DNS старого домена на новый сервер.
Вся процедура заняла около двух часов спокойной работы (включая не быстрое перекачивание всех картинок со старого сервера на новый).