Передача файлов на удаленный сервер невозможна при помощи обычной физической флешки или другого устройства хранения данных, поэтому пользователям приходится использовать сетевые методы копирования и перемещения объектов. При этом важно выбрать безопасный вариант, реализация которого не займет много времени.
Один из самых надежных способов – использование консольной утилиты SCP в Linux, о которой и пойдет речь далее.
Необходимость в SSH-сервере
Перед началом разбора необходимо остановиться на таком понятии, как SSH-сервер. Он необходим для работы SCP в Linux, поскольку утилита использует именно этот протокол. Вам понадобится установить SSH-протокол и настроить его. Кроме того, важно знать пароль или ключ для подключения, о чем более детально читайте в статье по следующей ссылке.
Подробнее: Как подключиться к серверу по SSH с помощью пароля или ключа
Синтаксис и использование утилиты SCP
$ scp options user@хост1:файл user2@хост2:file
Это общий синтаксис утилиты, который необходимо использовать при вводе команды в Терминале, чтобы она выполнилась успешно и обработала ваш запрос. Как видно, ничего в этом трудного нет, однако нужно подробнее разобрать доступные опции (они же options в строке синтаксиса):
-
-1 – в этом случае используется протокол SSH1;
-
-2 – то же самое, но с версией SSH2;
-
-B – активация пакетного режима, когда нужно передать сразу пачку файлов;
-
-C – использовать сжатие при отправке;
-
- l – установка ограничения в кбит/сек (значение задается пользователем вручную);
-
-o – добавление опций SSH;
-
-p – сохранение времени изменений файлов;
-
-r – использование рекурсивного копирования папок;
-
-v – переход в более развернутый режим.
Некоторые из перечисленных опций, возможно, пригодятся вам в работе, поэтому рекомендую запомнить их или где-то сохранить с понятными для вас пометками, чтобы знать, когда и что использовать. Далее я развернуто расскажу о популярных опциях и их практическом применении.
Выбор пользователя
scp /home/user/file root@timeweb:/root/
Так выглядит стандартное копирование файлов SCP без применения дополнительных опций. То есть вы указываете путь к файлу (user замените на свое имя пользователя), затем добавляете путь назначения. Одно важное замечание: у пользователя должно быть разрешение на запись в указанную папку, иначе операция прервется.
Копирование директории
Если вы ознакомились с описанным выше списком опций, то уже знаете, что SCP предлагает передачу целых директорий с использованием опции -r. В таком случае строка в Терминале обретает вид:
scp -r /home/user/photos root@timeweb:/root/
Если нужно передать все файлы из определенной папки, замените строку на следующую:
scp -r /home/user/photos/* root@timeweb:/root/
Только не забудьте изменить путь к файлу и место назначения. Как видно, добавилась только косая черта после последней директории и значок *, обозначающий копирование всех элементов.
Копирование с сервера на компьютер
Предыдущие три команды позволяли передавать файлы с локального компьютера на удаленный сервер, однако утилита поддерживает и обратное направление. В таком случае написание команды в консоли немного меняется и обретает примерно такой вид:
scp root@timeweb:/root/file /home/user/
Мы просто поменяли местами пути в команде. Вы можете использовать все те же опции, осуществляя копирование с разными атрибутами или передавая целые каталоги.
Если файлы передаются с одного удаленного сервера на другой, то их адреса указываются следующим образом:
scp root@timeweb:/home/root/index.html root@timeweb:/home/root/www/
Это была общая информация об утилите SCP, которая поможет скопировать файлы с компьютера на удаленный сервер либо перенести их между удаленными серверами. Используйте опции и не забывайте проверять пути, чтобы случайно не перезаписать важные файлы.
Комментарии