Мне нужно перенести достаточно большой веб-сайт на новый сервер для клиента с минимальным временем простоя, насколько это возможно.

К сожалению, текущий хост клиента разрешает только SFTP-доступ без полного доступа к SSH. Я попытался смонтировать файл поверх sshfs и использовать git для клонирования сайта, но выполнение команд git оказалось слишком медленным. Требуемое время простоя недопустимо для клиента.

Загрузка полного сайта, а затем загрузка нецелесообразна, так как это занимает несколько часов.

Я бы использовал rsync, но, насколько я понимаю, для правильной работы rsync требуется полный доступ к серверу.

У кого-нибудь есть другие предложения?

1 ответ1

0

Я смог использовать rsync локально, смонтировав файловую систему в локальный каталог на новом сервере с помощью sshfs, а затем запустив rsync в другой каталог. Начальная синхронизация немного медленная, но как только она была синхронизирована один раз, последующая синхронизация, которую я выполнял во время простоя, была достаточно быстрой.

Убедитесь, что предохранитель установлен и работает:

sshfs [user@]hostname:[directory] intermediate-directory

Затем используйте rsync для синхронизации с последним каталогом.

rsync -azP --delete intermediate-directory/ final-directory

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .