Есть ли способ отобразить индикатор выполнения при копировании с сервера на локальный (или наоборот) с помощью 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