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?


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/

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' root@google.com:/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


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...


4

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.