Saya telah mencoba melacak kemajuan data dalam pipa, khususnya dalam skrip init besar untuk server minecraft. Bagaimana cara saya menggunakan pv
untuk mendapatkan pembacaan kemajuan yang akurat?
Saya sudah mencoba perintah berikut, di mana $WORLDBACKUPSIZE
ukuran folder yang akan dicadangkan, $path
adalah jalur yang harus dicadangkan, dan $MCPATH/${WORLDNAME[$INDEX]}
folder yang harus dicadangkan, kecuali yang pv
berhenti setengah jalan karena ukurannya menjadi ukuran folder dan hanya menghitung byte terkompresi yang melewati.
Saya ingin menghitung byte yang dikompres dalam perintah tar, jadi saya bisa menggunakan ukuran asli sebagai tanda akhir untuk meteran progres. Sederhananya, saya mencoba tar folder dan memantau kemajuan menggunakan pv
. Ukuran total yang pv
digunakan untuk memberi tahu saya perkiraan persentase didasarkan pada ukuran asli, sedangkan ukuran yang diukur ketika perintah tar berjalan adalah ukuran terkompresi sehingga bilah kemajuan berhenti lebih awal dengan persentase selesai di akhir tergantung pada ukuran folder terkompresi dibandingkan dengan ukuran folder asli.
Perintah
WORLDBACKUPSIZE=`du -sk $WORLDSTORAGE/${WORLDNAME[$INDEX]} | cut -f 1`
digunakan untuk mengukur folder yang ingin saya buat cadangannya.
Perintah
tar -hcjf - $MCPATH/${WORLDNAME[$INDEX]} | pv -reps ${WORLDBACKUPSIZE}k > $path
digunakan untuk mengukur kemajuan. Bagaimana saya mengatur ulang ini sehingga saya mengukur kemajuan dengan jumlah byte yang dimasukkan ke perintah tar, dan bukan jumlah yang dikeluarkan?
sumber