Копирование файлов Lunix (через SCP)

Основное описание утилиты SCP

Для миграции файлов между серверами существует крайне простая в использовании утилита scp. Она умеет копировать файлы как с удаленного сервера на локальный, так и с локального на удаленный. Копирование идёт по протоколу SSH, так что Вам не понадобиться никаких специальных инструментов и сложного кода для работы утилиты, достаточно того, чтобы был запущен SSH сервер и Вы знали логин и пароль на удаленный сервер. И будьте внимательны к диалоговым окнам - утилита запрашивает пароли для удаленного узла, дабы она могла подключиться

Синтаксис команды для копирования файлов между серверами

$ scp опции юзер1@сервер1:файл/папка (ЧТО и ОТКУДА) юезр2@сервер2:папка (КУДА)

Опции утилиты больше касаются протокола SSH и настраивают общее ее поведение. Дальше следует адрес первого и второго файла. Каждый из них может быть расположен как на локальном, так и на удаленном. А вот список ключей, которые могут пригодится для работы (нет, не все =) ):

-1 - использовать протокол SSH1;
-2 - использовать протокол SSH2;
-B - пакетный режим для передачи нескольких файлов;
-C - включить сжатие;
-l - установить ограничение скорости в кбит/сек;
-o - задать нужную опцию SSH;
-p - сохранять время модификации;
-r - рекурсивное копирование ДИРЕКТОРИЙ;
-v - более подробный режим.

Как видите, всё достаточно просто и особо в пояснениях не нуждается, но приведем несколько примеров для более быстрой работы с утилитой (чтобы вы могли просто скопировать строку и чуть подправить её под себя). Итак, приступим.

Примеры работы с утилитой SCP

Рекурсивное копирование каталога и всех папок/файлов в нём

 scp -r root@192.0.0.100:/var/www/user/data/www/site.ru/upload /home/bx_host/web/test.site.ru/public_html/

Копирует ВСЕ файлы и папки из каталога /var/www/user/data/www/site.ru/upload на сервере 192.0.0.100 в локальную папку /home/bx_host/web/test.site.ru/public_html/

Рекурсивное копирование каталога между удаленными серверами

 scp -r root@192.0.0.100:/var/www/user/data/www/site.ru/upload root@192.0.0.200:/home/bx_host/web/test.site.ru/public_html/

Копирует ВСЕ файлы и папки из каталога /var/www/user/data/www/site.ru/upload на сервере 192.0.0.100 в папку /home/bx_host/web/test.site.ru/public_html/ сервера 192.0.0.200

Копирование одного файла с удаленного сервера

 scp root@192.0.0.100:/var/www/user/data/www/site.ru/upload/img.jpg /home/bx_host/web/test.site.ru/public_html/upload/

Копирует файл img.jpg из каталога /var/www/user/data/www/site.ru/upload на сервере 192.0.0.100 в локальную папку /home/bx_host/web/test.site.ru/public_html/upload/

Копирование файлов Lunix (через SCP)