Есть ли способ продолжить неработающий командный процесс scp (безопасное копирование) в Linux? [закрыто]


241

Я копирую файл 7,5 ГБ на удаленный сервер с помощью команды scp . В какой-то момент перерыв передачи файлов, и я должен начать все сначала.

Временный объем передаваемого файла полностью потерян? Можно ли как-то перезапустить передачу с того места, где она остановилась с предыдущей попытки? Если нет, то есть ли для этого какая-нибудь стандартная команда передачи файлов из командной строки Unix?


1
На этот вопрос найдено больше ответов , в т.ч. решения без rsync.
Танюш

Ответы:


401

Если вам нужно возобновить передачу 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

35
Для порта, отличного от используемого по умолчанию 22rsync -P -e "ssh -p 222" SRC DEST
asofyan

4
И если rsync -eэто прервано, я обнаружил переименование. <Имя_файла>. <6funnychars> в <имя_файла> в месте назначения, прежде чем возобновить rsync -eего.
Gaoithe

5
rsync работает, только если он доступен на другой стороне.
декабря

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

4
Неважно, как вы изначально получили частичную загрузку. Вы можете начать с scp, а затем с rsync.
Том МакКлюр

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.