Gunakan rsync --human-readable --progress
.
Untuk file tunggal dan blokir perangkat, ada juga pv
. Dan jika Anda benar-benar membutuhkan bilah kemajuan yang akurat, coba gunakan tar
dengan pv — sesuatu seperti ini:
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; }
Berhati-hatilah, bagaimanapun, bahwa GNU tar
belum mendukung ACL atau atribut yang diperluas, jadi jika Anda menyalin sistem file yang dipasang dengan opsi "acl" atau "xattrs", Anda perlu menggunakan rsync (dengan opsi "--acls
" dan "--xattrs
" opsi). Secara pribadi, saya menggunakan:
rsync --archive --inplace --hard-links --acls --xattrs --devices --specials \
--one-file-system --8-bit-output --human-readable --progress /source /target
Lihat juga apakah Anda ingin menggunakan --delete
dan/atau --numeric-ids
opsi.
Alih-alih dd
Saya menyarankan pv
, misalnya:
% tar -cf - INPUT | pv -rbe -s SIZE | tar -xf - -C DEST
Sudahkah Anda mencoba rsync -P
? Jika Anda menggunakan dd
, mis. tar -cf - src | dd | (cd dest; tar -xf -)
Anda seharusnya dapat menggunakan Ctrl-T (SIGINFO) untuk melihat progres Anda.