Копирование файлов с помощью утилиты 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/.

Важно

Директория назначения должна заканчиваться косой чертой /, иначе скопированная директория будет перезаписывать указанный путь.


Помощь

Если у вас возникнут дополнительные вопросы, вы можете обратиться в службу поддержки через систему тикетов или в онлайн-чат.

Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам