У меня есть SSH доступ к обоим серверам, один из них пуст. Как я могу переместить каталог сайта со старого сервера на новый через SSH-соединение?
PS: На обоих серверах стоит unix
Мой любимый rsync
. Достаточно умен, чтобы копировать только то, что нужно скопировать (то есть изменить или новое).
rsync -avz /source/path user@desthost:/destination/path/
Обратите внимание на последний /
в конце попросить rsync скопировать внутри этот путь (не над ним).
rsync
позаботится об управлении ssh-соединением за вас. В avz
(типовые) варианты спросить rsync
использовать архив (tar), чтобы копировать рекурсивно и сохранять как можно больше даты и пользовательских значений. В v
вариант подробный чтобы показать вам, что происходит в настоящее время. В z
опция будет заархивировать (сжать) передачу, чтобы, надеюсь, сэкономить время и трафик.
rsync
является очень мощным и используется большинством профессионалов, однако вы можете сначала протестировать его, используя не ценные данные, чтобы убедиться, что путь и параметры соответствуют требованиям.
Если вам нужно использовать rsync через SSH на нестандартном порту, таком как 2222, вы можете использовать следующую команду (см. эту статью):
rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/
Я написал хорошо рабочий ответ на другой вопрос. Он использует SSH-Agent для перемещения дампа mysql: Самый быстрый способ перенести несколько баз данных на новый сервер
Объедините это с ответом jscott
Вы ищете смоляная труба.