Каков наиболее эффективный способ переноса веб-сайта через SFTP без полного доступа SSH?

324
knsheely

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

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

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

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

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

0
«Загрузка полного сайта, а затем загрузка нецелесообразна, так как это занимает несколько часов». - То есть вы говорите, что у клиента нет резервной копии своего сайта? Это беспокоит. djsmiley2k 5 лет назад 0
Они не сделали, но я не думаю, что это действительно имеет отношение к теме. Загрузка резервной копии все равно займет несколько часов. knsheely 5 лет назад 1

1 ответ на вопрос

0
knsheely

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

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

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

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

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

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