Копирование файлов с помощью утилиты SCP
Руководство по утилите SCP
SSH (Secure Shell) — это безопасный способ удалённого доступа к серверу через зашифрованное соединение. С его помощью можно управлять вашим VPS или выделенным сервером, устанавливать программное обеспечение, настраивать сервисы и следить за состоянием системы прямо из командной строки.
Одним из полезных инструментов, работающих поверх SSH, является SCP (secure copy) — утилита и протокол для безопасного копирования файлов между компьютерами. С её помощью вы можете переносить файлы как между локальной машиной и сервером, так и между двумя удалёнными серверами, используя зашифрованное соединение.
Синтаксис команды SCP
Базовый синтаксис команды для копирования файлов выглядит так:
$ scp [опции] user1@server1:/path/to/directory (ЧТО и ОТКУДА) user2@server2:/path/to/directory (КУДА)  
- Опции утилиты касаются протокола SSH и настраивают общее поведение SCP.
- Далее указываются путь к исходному файлу или каталогу и путь к месту назначения.
- Любой из указанных путей может находиться как на локальной машине, так и на удалённом сервере.
- В качестве пользователя нужно использовать существующего на сервере пользователя, а вместо IP можно указать доменное имя.
Важно
У пользователя должны быть права на запись в указанную папку.
Полезные ключи SCP
Некоторые ключи SCP, которые могут пригодиться при работе:
- -1— использовать протокол SSH1;
- -2— использовать протокол SSH2;
- -B— пакетный режим для передачи нескольких файлов;
- -C— включить сжатие;
- -l— ограничение скорости передачи в кбит/сек;
- -o— задать опцию SSH;
- -p— сохранять время модификации файлов;
- -r— рекурсивное копирование директорий;
- -v— подробный режим для отладки.
Примеры работы с SCP
Рекурсивное копирование каталога на локальную машину
scp -r root@1.111.1.111:/var/www/user/data/www/site.ru/upload /home/web/test.site.ru/public_html/  
Копирование всех файлов и директорий из каталога /var/www/user/data/www/site.ru/upload на сервере 1.111.1.111 в локальную папку /home/web/test.site.ru/public_html/.
Рекурсивное копирование каталога между удалёнными серверами
scp -r root@1.111.1.111:/var/www/user/data/www/site.ru/upload root@2.222.2.222:/home/web/test.site.ru/public_html/  
Копирование всех файлов и папок из каталога /var/www/user/data/www/site.ru/upload на сервере 1.111.1.111 в папку /home/web/test.site.ru/public_html/ сервера 2.222.2.222.
Копирование одного файла с удалённого сервера
scp root@1.111.1.111:/var/www/user/data/www/site.ru/upload/img.jpg /home/web/test.site.ru/public_html/upload/  
Копирует файл img.jpg из каталога /var/www/user/data/www/site.ru/upload на сервере 1.111.1.111 в локальную папку /home/web/test.site.ru/public_html/upload/.
Важно
Директория назначения должна заканчиваться косой чертой /, иначе скопированная директория будет перезаписывать указанный путь.
Помощь
Если у вас возникнут дополнительные вопросы, вы можете обратиться в службу поддержки через систему тикетов или в онлайн-чат.