
Ich kopiere eine große Menge an Dateien zwischen Festplatten. Es sind ungefähr 16 GB an Daten. Ich würde gerne Informationen zum Fortschritt und sogar eine geschätzte Fertigstellungszeit sehen.von der Kommandozeile.
Irgendein Rat?
Antwort1
Verwenden rsync --human-readable --progress
.
Für einzelne Dateien und Blockgeräte gibt es auch pv
. Und wenn Sie wirklich einen genauen Fortschrittsbalken benötigen, versuchen Sie es tar
mit pv – etwa so:
source=/the/source/directory
target=/the/target/directory
size=$(du -sx "$source")
cd "$source"
find . xdev -depth -not -path ./lost+found -print0 \
| tar --create --atime-preserve=system --null --files-from=- \
--format=posix --no-recursion --sparse \
| pv --size ${size}k \
| { cd "$target"; \
tar --extract --overwrite --preserve-permissions --sparse; }
Beachten Sie jedoch, dass GNU tar
noch keine ACLs oder erweiterten Attribute unterstützt. Wenn Sie also Dateisysteme kopieren, die mit den Optionen „acl“ oder „xattrs“ gemountet wurden, müssen Sie rsync (mit den Optionen „ --acls
“ und „ --xattrs
“) verwenden. Ich persönlich verwende:
rsync --archive --inplace --hard-links --acls --xattrs --devices --specials \
--one-file-system --8-bit-output --human-readable --progress /source /target
--delete
Prüfen Sie auch, ob Sie die Optionen und/oder verwenden möchten --numeric-ids
.
Antwort2
Stattdessen dd
würde ich vorschlagenpv
, z.B:
% tar -cf - INPUT | pv -rbe -s SIZE | tar -xf - -C DEST
Antwort3
Haben Sie es versucht rsync -P
? Wenn Sie beispielsweise verwenden dd
, tar -cf - src | dd | (cd dest; tar -xf -)
sollten Sie Ihren Fortschritt mit Strg-T (SIGINFO) verfolgen können.