- Заранее продумать, какие пакеты надо поставить на принимающей стороне.
- Заблокировать доступ к старому серверу
- Все скрипты и конфиги удобно синхноризировать через rsync. (Очень быстро получается пересинхронизация, если вдруг что то не с первой попытке получилось.)
- БД одной командой, которая через удаленный ssh на одной стороне дампит базы, а на другой тут же исполняет эти дампы.
- Переключаем DNS, а на старом серваке ставим редирект, на случай если у кого то DNS не обновился.
Если сайт ответственный и не хочется простоя, то я в таком случае все команды по переносу сначала отпрабатываю в тестовом режиме. Потом делаю bash скрипт, который весь перенос выполняет за один запуск. И потом просто однократно запускаю этот скрипт.