Esiste un modo per visualizzare una barra di avanzamento durante la copia dal server al locale (o viceversa) utilizzando scp?
Esiste un modo per visualizzare una barra di avanzamento durante la copia dal server al locale (o viceversa) utilizzando scp?
Risposte:
Non penso che questo possa essere fatto scp. L'ultima volta che ho avuto bisogno di qualcosa del genere, ad esempio i progressi mostrati, ho usato rsyncinvece. Mostra i progressi in modo simile a una barra. Guarda se va bene per te.
Dovrai usare l' --progressopzione di rsync. Puoi usare il seguente comando:
rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/
2741851 0% 700.39kB/s 0:17:21e nessuna barra di avanzamento grafica (ciò che penso che l'OP voglia).
-e ssh user@remote-system:per una copia locale e man rsyncspiegare le molte, molte opzioni)
rsync -avz --progress -e 'ssh -p 1223' root@google.com:/foobar.txt ./my-local-copy.txt
rsync mentre devi solo aggiungere -vascp
L' -vinterruttore funziona bene.
Esempio:
5% 9232 KB 357,5 KB / s 07:48 ETA
-3.
man scp: " -3Le copie tra due host remoti vengono trasferite attraverso l'host locale. Senza questa opzione i dati vengono copiati direttamente tra i due host remoti. Nota che questa opzione disabilita l'indicatore di avanzamento. "
Non so come farlo in una riga di comando. Sono sicuro che è possibile, ma esiste un metodo grafico per farlo.
Nautilus (il browser di file predefinito in Ubuntu) può montare server ssh / sftp. Dopo ciò si comportano come un filesystem locale e puoi copiare i file come faresti normalmente. E ottieni la solita barra di avanzamento che avresti con una copia normale.
Cerca nel FilemenuConnect to server...
A partire dal 2018, i progressi e l'ETA sono mostrati per impostazione predefinita e potrebbero essere disabilitati da -q