Verwenden Sie 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 mit tar
mit pv — ungefähr 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; }
Seien Sie jedoch gewarnt, dass GNU tar
unterstützt noch keine ACLs oder erweiterte Attribute, wenn Sie also Dateisysteme kopieren, die mit den Optionen „acl“ oder „xattrs“ gemountet wurden, müssen Sie rsync verwenden (mit dem „--acls
" und "--xattrs
" Optionen). Persönlich verwende ich:
rsync --archive --inplace --hard-links --acls --xattrs --devices --specials \
--one-file-system --8-bit-output --human-readable --progress /source /target
Prüfen Sie auch, ob Sie den --delete
verwenden möchten und/oder --numeric-ids
Optionen.
Statt dd
Ich würde pv
vorschlagen , z. B.:
% tar -cf - INPUT | pv -rbe -s SIZE | tar -xf - -C DEST
Haben Sie rsync -P
versucht ? Wenn Sie dd
verwenden , z.B. tar -cf - src | dd | (cd dest; tar -xf -)
Sie sollten in der Lage sein, Strg-T (SIGINFO) zu verwenden, um Ihren Fortschritt zu sehen.