Есть ли способ отобразить индикатор выполнения при копировании с сервера на локальный (или наоборот) с помощью scp
?
Есть ли способ отобразить индикатор выполнения при копировании с сервера на локальный (или наоборот) с помощью scp
?
Ответы:
Я не думаю, что это может быть сделано с scp
. В прошлый раз мне нужно было что-то вроде этого, т.е. показанный прогресс, я использовал rsync
вместо этого. Это показывает прогресс в форме бара. Посмотрите, работает ли это для вас.
Вам нужно будет использовать --progress
опцию rsync
. Вы можете использовать следующую команду:
rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/
2741851 0% 700.39kB/s 0:17:21
не было графического индикатора выполнения (что, я думаю, хочет ОП).
-e ssh user@remote-system:
для локальной копии и man rsync
объясните много, много вариантов)
rsync -avz --progress -e 'ssh -p 1223' root@google.com:/foobar.txt ./my-local-copy.txt
rsync
то время как вам просто нужно добавить -v
вscp
-v
Переключатель работает нормально.
Пример:
5% 9232KB 357,5KB / с 07:48 ETA
-3
.
man scp
: « -3
Копии между двумя удаленными хостами передаются через локальный хост. Без этой опции данные копируются непосредственно между двумя удаленными хостами. Обратите внимание, что эта опция отключает индикатор прогресса. »
Я не знаю, как это сделать в командной строке. Я уверен, что это возможно, но для этого есть графический метод.
Nautilus (файловый браузер по умолчанию в Ubuntu) может монтировать серверы ssh / sftp. После этого они действуют как локальная файловая система, и вы можете копировать файлы, как обычно. И вы получите обычный индикатор выполнения, который вы бы сделали с обычной копией.
Посмотрите в File
меню дляConnect to server...
Начиная с 2018 года, прогресс и ETA отображаются по умолчанию и могут быть отключены -q