Копирование файлов с помощью утилиты 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/
.
Важно
Директория назначения должна заканчиваться косой чертой /
, иначе скопированная директория будет перезаписывать указанный путь.
Помощь
Если у вас возникнут дополнительные вопросы, вы можете обратиться в службу поддержки через систему тикетов или в онлайн-чат.