Як перемістити каталог з одного сервера на інший?


10

У мене SSH доступ до обох серверів, один з них порожній. Як я можу перемістити каталог сайту зі старого сервера на новий сервер через з'єднання SSH?

PS: На обох серверах є unix

Відповіді:


15

Моя улюблена rsync. Досить розумно копіювати лише те, що має бути скопійовано (тобто змінити або створити нове).

rsync -avz /source/path user@desthost:/destination/path/

Зверніть увагу на фінал /наприкінці, щоб попросити rsync скопіювати всередину цього шляху (а не через нього).
rsyncпіклується про керування ssh-з'єднанням для вас. В avz(типової) варіанті попросити rsyncвикористовувати архів режиму (дьоготь), для того , щоб скопіювати рекурсивно, і зберегти якомога більше значень дати і користувачів. Цей vваріант є багатослівним, щоб показати вам, що зараз відбувається. Цей zпараметр дозволить перенести (стиснути) передачу, щоб, сподіваючись, заощадити час та пропускну здатність.

rsync дуже потужний і використовується більшості професіоналів, однак ви можете спробувати його спершу, використовуючи цінні дані, щоб забезпечити збіг шляху та параметрів вимогам.

Якщо вам потрібно використовувати rsync через SSH на нестандартному порту, наприклад 2222, ви можете використовувати таку команду ( див. Цю статтю ):

rsync -avz -e 'ssh -p 2222' /source/path user@desthost:/destination/path/

Я думаю, що rsync є кращим рішенням, ніж ssh з тієї причини, яку дав ring0, тобто він копіює лише те, що потрібно скопіювати. Тож якщо вам потрібно зробити це не раз, rsync дасть вам перевагу перед прямим scp.
Джейсон Тан

1
rsync, безумовно, є інструментом. Але щодо останньої косої риси: це важливо для джерела, а не для місця призначення: rsync -a / src / / dest копіює все, що знаходиться під src у dest, rsync -a / src / dest копіює src та все, що знаходиться під ним у dest / src / .
Оскар


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.