Чи є спосіб продовжити розбитий командний scp (захищена копія) в Linux? [зачинено]


241

Я копіюю файл 7,5 ГБ на віддалений сервер за допомогою команди scp . У якийсь момент перерва передачі файлів переривається, і я повинен почати все заново.

Чи повністю втрачена тимчасова кількість файлу, що передається? Чи можу я якось перезапустити передачу з того місця, де він зупинився при попередній спробі? Якщо ні, чи є для цього стандартна команда передачі файлів командного рядка Unix?


1
Більше відповідей на це запитання , в т.ч. рішення без rsync.
tanius

Відповіді:


400

Якщо вам потрібно відновити передачу scp з локального на віддалений , спробуйте виконати rsync:

rsync --partial --progress --rsh=ssh local_file user@host:remote_file

Коротка версія, як вказував @ aurelijus-rozenas :

rsync -P -e ssh local_file user@host:remote_file

Загалом порядок аргументів для rsync такий

rsync [options] SRC DEST

34
Для іншого порту, ніж за замовчуванням, використовується 22rsync -P -e "ssh -p 222" SRC DEST
asofyan

4
І якщо rsync -eце перервано, я знайшов перейменування. <filename>. <6funnychars> в <filename> за призначенням, перш ніж відновити rsync -eпотрібне.
gaoithe

5
rsync працює лише в тому випадку, якщо він доступний з іншого боку.
dothebart

1
Чи дійсно rsync поновлює передачу файлів, розпочату в scp? Чи потрібні дві команди rsync, одна rsync, не scp, команда розпочати копіювання, а потім відключити, а потім друга команда rsync для відновлення копіювання?
Джеффрі Андерсон

4
Не має значення, як ви спочатку отримали часткове завантаження. Ви можете почати з scp, а потім закінчити з rsync.
Том МакКлур

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.