Показать статистику
0 голосов
от (4.6тыс. баллов)
Использую scp что бы копировать файлы с удаленной системы к себе на Linux лэптоп.  Как можно скопирлвать всю директорию (весь каталог) с файлами, что бы не запускать scp по десять раз?
888 просмотров 1 ответов

1 Ответ

0 голосов
от (2.4тыс. баллов)

Вам нужно использовать scp с ключем -r.

scp -rp local_directory_with_files user@remote_server:/path

То есть работает это так. Заходите по ssh на удаленную систему и запускаете scp куда вам нужно

Либо вот так:

scp -r user@remote_server/path/ /local/path

Во втором варианте вы со своей локальной машины запускаете рекурсивный scp и копируете /path и сохраняете как /local/path локально.

от (17.4тыс. баллов)
0

Все верно написали. Но мой любимый метод для подобных задач - использовать rsync. Он тоже через SSH работает.

rsync -a -essh /istochnik/ user@dest-server:/kuda_sohranit'/
rsync -a -essh user@source-server:/istochnik/ /kuda_sohranit'/

Обычно я использкю rsync c ключами Pazvessh

  • -a - режим "архива" (включает множество мелочей, таких как сохранение ссылок)
  • -z - включить сжатие. Если файл текстовый или это дамп базы данных, то почти в два раза ускорит процесс копирования
  • -v - показать что проиходит (можно и без этой опции, но тогда не так наглядно чем занят rsync в данный момент времени)
  • -P - показывать прогресс (сколько файлов скопировано, сколько осталось)
  • -e ssh - делать синхронизацию по протоколу SSH
  • --delete - удалять файлы после их копирования 
...