Fortschrittsbalken für den Befehl scp

92

Gibt es eine Möglichkeit, einen Fortschrittsbalken anzuzeigen, während Sie vom Server zum lokalen (oder umgekehrt) kopieren scp?

Abdul Shajin
quelle
Jetzt erhalte ich den Prozentsatz. Aber ich brauche einen Fortschrittsbalken.
Abdul Shajin
Es gibt ein Skript, aber ich habe keine Ahnung, wie es funktioniert
Uri Herrera
1
Möglicherweise können Sie dieses Skript für einen Fortschrittsbalken für "cp" ändern: chris-lamb.co.uk/2008/01/24/…
Rinzwind
scp -r zeigt keinen Fortschrittsbalken an, gibt aber einen Prozentsatz jeder Datei an
spyderman4g63 20.07.15

Antworten:

92

Ich glaube nicht, dass dies damit getan werden kann scp. Das letzte Mal, als ich so etwas brauchte, also den gezeigten Fortschritt, habe ich rsyncstattdessen verwendet. Es zeigt den Fortschritt in barartiger Weise. Sehen Sie, ob es bei Ihnen funktioniert.

Sie müssen die --progressOption von verwenden rsync. Sie können den folgenden Befehl verwenden:

rsync -r -v --progress -e ssh user@remote-system:/address/to/remote/file /home/user/
binW
quelle
1
Ich wollte etwas Ähnliches posten, aber als ich es getestet habe, habe ich gerade 2741851 0% 700.39kB/s 0:17:21keine grafische Fortschrittsanzeige (was ich denke, das OP will).
Oli
1
@Oli: Ich denke, es liegt daran, dass Sie eine sehr kleine Datei kopieren. Der Kopiervorgang wird beendet, bevor rsync den Fortschritt anzeigen kann. Wenn Sie eine größere Datei kopieren, sollte ein Fortschrittsbalken angezeigt werden.
BinW
1
Für alle, die nach CP mit Fortschrittsbalken suchen, funktioniert rsync großartig vor Ort, daher beantwortet dies auch diese Frage! (Lassen Sie einfach die -e ssh user@remote-system:für eine lokale Kopie und man rsyncerklärt die vielen, vielen Möglichkeiten)
Salbei
1
Wenn Sie eine Verbindung zu einem anderen als dem Standard-SSH-Port herstellen möchten, können Sie rsync -avz --progress -e 'ssh -p 1223' [email protected]:/foobar.txt ./my-local-copy.txt
Folgendes
4
warum verwenden , rsync während Sie nur hinzufügen müssen , -vumscp
Samir Sabri
64

Der -vSchalter funktioniert gut.

Beispiel:

5% 9232 KB 357,5 KB / s 07:48 ETA

PJ Brunet
quelle
6
Das ist die richtige Antwort.
int_32
Das sollte die richtige Antwort sein! Warum stören und installieren Sie rsync
Samir Sabri
3
Bei der Verwendung scheint es nicht zu funktionieren -3.
fuero
1
@fuero man scp: " -3Kopien zwischen zwei Remote-Hosts werden über den lokalen Host übertragen. Ohne diese Option werden die Daten direkt zwischen den beiden Remote-Hosts kopiert. Beachten Sie, dass diese Option die Fortschrittsanzeige deaktiviert. "
Der Typ mit dem Hut
4

Ich weiß nicht, wie ich das in einer Befehlszeile machen soll. Ich bin sicher, es ist möglich, aber es gibt eine grafische Methode, um dies zu tun.

Nautilus (der Standard-Dateibrowser in Ubuntu) kann ssh / sftp-Server einbinden. Danach verhalten sie sich wie ein lokales Dateisystem und Sie können Dateien wie gewohnt kopieren. Und Sie erhalten die übliche Fortschrittsanzeige, die Sie mit einer normalen Kopie erhalten würden.

Suchen Sie unter dem FileMenü nachConnect to server...

Oli
quelle
4

Ab 2018 werden Fortschritt und ETA standardmäßig angezeigt und können von deaktiviert werden -q

Milan Kerslager
quelle
nicht auf macos, lol!
Drachenfels
Meinen Sie damit Gesamtfortschritt oder auf Dateibasis? Ich sehe es nur pro Datei in meinem frisch installierten Debian 9.
Mazunki