О web-разработке
и даже немного больше...

SFTP-обмен файлами между серверами

Secure Transfer Protocol или коротко sftp на сегодняшний день довольно широко используется для обмена файлами посредством защищенного SSH канала, между сервером и клиентскими машинами. В некоторых ситуациях удобно организовать иметь возможность обмен файлами между серверами, напрямую, за счет чего достигается оптимальная скорость передачи файлов. Именно о том, как можно подключиться и работать по SFTP с удаленным сервером через консоль мы поговорим в данном посту.
Для подключения к серверу SFTP нам необходимо знать его доменное имя либо IP-адрес.
 
Подключение к SFTP серверу через консоль

# sftp user@href.kz

 
Довольно часто из соображений безопасности на серверах меняют стандартный порт на другое значение. Для указания значения своего порта вы можете воспользоваться командой ниже.
 
Подключение к SFTP серверу через другой порт

# sftp -oPort=2222 user@href.kz:/home/something

 
После ввода команды, если сервер откликнулся, в окне консоли будет предложено ввести пароль от учетной записи пользователя user. После подключения к SFTP у вас будет показываться характерная командная строка:

sftp>

 
Теперь вы можете выполнять необходимые вам манипуляции с файлами. Команды работы с ними вам покажутся вполне привычными.
 
Основные команды SFTP
cd — серфинг по дирректориям на стороне sftp сервера;
lcd — перемещение по дирректориям на локальном компьютере;
ls — просмотр списка файлов в текущей директории sftp сервера;
lls — просмотр списка файлов в текущей дирретории локального компьютера;
pwd — вывод текущей дирректории на sftp сервере;
lpwd — вывод текущей директории на локальной машине;
exit — выход из sftp-клиента;
 
Давайте попробуем загрузить файлы с удаленного SFTP – сервера, для этого мы может воспользоваться командой get.
 
Загрузка файлов с SFTP-сервера

sftp>get remote-path [local-path]

 
В качестве параметра remote-path указывается путь до файлов на сервере. В качестве параметра local-path передается путь на локальной машине, по умолчанию, если параметр не будет указан, загружаться файлы будут в текущую директорию. Так же можно указать отдельные файлы для скачивания.
 
Загрузка файлов по списку

sftp>get foo.bar readme.txt

 
Чтобы иметь возможность загрузки сразу всех файлов расположенных в директории, удобно воспользоваться командой mget.
 
Множественная загрузка файлов

sftp> mget ./*

 
Так же можно загружать файлы только с конкретным расширением, скажем нам необходимо загрузить все файлы с TXT-расширением.
 
Загрузка файлов с указанным расширением

sftp> mget ./*.txt

 
После выполнения команды с директории удаленного сервера будет произведена загрузка всех файлов с расширением txt. Теперь рассмотрим пример загрузки файлов с локальной машины на удаленный сервер. Для отправки файлов на удаленный сервер мы будем пользоваться командой scp.
 
Есть один очень важный момент, о котором стоит знать. Команда get и mget не копирует нерегулярные файлы из файловой системы удаленного сервера.
 
Чтобы иметь возможность загружать абсолютно все файлы, вам следует воспользоваться командой scp – это отдельная команда, которая должна выполняться в командной строке сервера, а ни клиента sftp!
 
Копирование файлов с помощью команды scp.
Синтаксис:

# scp copy_from copy_to

copy_from – откуда отправляется файлы;
copy_to – путь назначения;
 
Рассмотрим простой пример скачивания файла foobar.txt с удаленного сервера на локальную машину.
 
Скачиваем файл с удаленного сервера

# scp user@href.kz:/path/to/foobar.txt /some/local/directory

 
Таким же образом происходит отправка файла с вашей локальной машины на удаленный сервер.
 
Отправляем файл с локальной машины на удаленный сервер

# scp /path/to/foobar.txt user@href.kz:/some/remote/directory

 
Так же есть возможность использования рекурсии при обмене файлами. Рассмотрим пример рекурсивного скачивания файлов с директории tutorial удаленного сервера в корневую директорию локальной машины.
 
Рекурсивное скачивание файлов

# scp -r user@href.kz:~/tutorial ~/

 
Сложностей с этим возникать в принципе не должно, команды довольно простые и вы всегда можете ими воспользоваться при необходимости. На этом пока всё, если есть чем дополнить — пост пишите в комментарии, а так же не забудьте поделиться страницей в социальных сетях (если не трудно), спасибо!

Опубликован: 02.07.2017 г.

См. также:

Поиск больших файлов в Linux
Bash: mail: command not found
Установка и настройка mSMTP на Linux
Ставим nginx последней версии на Linux
Время последнего перезапуска системы Linux
Как подсчитать размер файлов и папок в Linux?
12 полезных опций использования команды «df» в Linux
Просмотр списка открытых портов в Linux

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта