Saya perlu menyalin direktori yang sangat besar (berbicara dalam terabyte di sini) dan ingin memantau perkembangannya.
Saya menemukan itu pv
adalah utilitas yang bagus, tetapi bagaimana saya bisa menggunakannya untuk menyalin direktori secara rekursif? ( pv src > dst
tidak berfungsi karena mereka adalah direktori)
PS: Berjalan di OS X Mountain Lion, pv
diinstal dari Mac Ports
Anda bisa menggunakan
tar
ataupax
ataucpio
:sumber
v
ketar
perintah untuk melihat nama file.tar cf -
menampilkan aliran yang berisi file dan metadata-nya, yang diumpankan melalui pipa ke pv yang mengumpankannya ke yang laintar
saat mencetak indikasi kemajuan, dan yang lainnyatar
mengekstrak data dalam aliran itu. Ketiga perintah berjalan secara bersamaan dan memproses data ketika datang, tidak ada yang disimpan di disk, tidak ada yang tersimpan di memori selain buffer pipa dan perintah buffer internal yang hanya berjumlah beberapa kilobyte.pv
tidak memiliki cara untuk mengetahui berapa banyak data yang ada untuk ditransfer. Jika Anda memiliki perkiraan jumlah itu, Anda bisa meneruskannya dengan-s
opsi (GNUdu -sb src
akan memberi Anda perkiraan yang baik jika file-file tersebut cukup besar)Ter.
Contoh:
sumber
Berikut adalah beberapa perintah untuk menyalin direktori dengan informasi kemajuan.
Jika ada banyak file kecil:
Ini akan melaporkan kemajuan berdasarkan jumlah file yang disalin.
Anda dapat mengalihkan ke
/dev/null
jika Anda tidak perlulogfile
.Gunakan perintah berikut untuk mendapatkan
filecount
:Jika ada beberapa file besar:
Ini akan melaporkan kemajuan berdasarkan byte yang disalin.
targetdir
harus ada.Gunakan perintah berikut untuk mendapatkan
size
:Jika Anda ingin menggunakan rsync:
Dapatkan
filecount
seperti yang ditunjukkan di atas.Jika Anda menyalin pada sistem yang sama maka
rsync -a
praktis sama dengancp -a
. Keuntungan dari rsync adalah ketika Anda menyalin melalui jaringan atau jika Anda memperbarui (atau membandingkan) salinan sebelumnya.Lihat di sini untuk detail lebih lanjut:
sumber
Anda bisa melakukan
du -b /directory/
pada sumber dan tujuan saat perintah penyalinan normal sedang berlangsung, dan bandingkan keduanya. Ini sama efektifnya dan tidak memperlambat proses penyalinan dengan mendorongnya melalui pipa.sumber
sumber