Saat menjalankan rsync
pada direktori dengan banyak file dan direktori di berbagai level, dapatkah kami memperkirakan jumlah pekerjaan atau waktu untuk menyelesaikannya?
-
opsi progres hanya menunjukkan progres transfer satu file, bukan progres transfer semua file dan direktori di bawah direktori sumber.
-
Salah satu cara yang saya kira adalah dengan melihat direktori apa yang telah
ditransfer sejauh ini, dan membandingkannya dengan sumbernya.Akan sangat membantu jika saya mengetahui urutan file dan direktori di
yangrsync
mentransfernya.Saya kira itu mungkin terkait dengan
rsync
itu menjalankan banyak utas dan apa yang dilakukan setiap utas?Saya tidak yakin urutan apa yang dipilihnya, dan tebakan saya sebelumnya tentang urutan pertama roti sepertinya tidak benar (jadi saya coret).
Jawaban yang Diterima:
Anda dapat membuat rsync
cetak satu baris per file menggunakan -i
dan kemudian gunakan pv -l
untuk melaporkan kemajuan berdasarkan jumlah baris (pada dasarnya jumlah file).
Anda membutuhkan pv
(penampil pipa):http://www.ivarch.com/programs/pv.shtml
rsync -ai sourcedir/ targetdir/ | pv -l -s filecount > logfile
Gunakan perintah berikut untuk mendapatkan jumlah file:
find sourcedir | wc -l
Catatan:perintah ini akan menampilkan informasi kemajuan berdasarkan jumlah file yang disalin. Ini bekerja paling baik jika ada banyak file bertubuh kecil. Jika hanya ada beberapa file yang berukuran besar, Anda tidak akan bersenang-senang.
Untuk melihat kemajuan saat Anda memperbarui (atau membandingkan) salinan yang ada:
(informasi lebih lanjut:Bandingkan direktori tetapi bukan konten file)
rsync -aii --delete sourcedir/ targetdir/ | pv -l -s filecount > logfile
-i
kedua membuat rsync mencetak satu baris per file meskipun keduanya sama.
Tambahkan -n
untuk membandingkan (bukan menyalin atau menghapus apa pun).
Tinggalkan --delete
sesuai kebutuhan.
Perintah ini akan mencetak ke layar secara real time file yang berbeda:
rsync -aii --delete sourcedir/ targetdir/ | pv -l -s filecount |
tee logfile | grep -v "^."
Perintah di atas berfungsi paling baik ketika ada banyak file bertubuh kecil. Jika Anda memiliki beberapa file berukuran besar, maka beberapa laporan kemajuan bawaan rsync mungkin bisa lebih membantu. Lihat halaman manual rsync untuk -P
atau --progress
atau --info=progress2
. Namun berhati-hatilah:opsi ini tidak akan berfungsi dengan baik dengan pv
. Atau setidaknya saya belum tahu caranya.
Berikut adalah solusi kasar untuk melihat kemajuan berdasarkan ukuran:
- perhatikan ruang kosong dari partisi target sebelum menyalin menggunakan
df -h
. - perhatikan ukuran direktori sumber menggunakan
du -sh
. - gunakan
watch df -h
dan lihat ukurannya bertambah.
Jelas ini hanya berfungsi saat menyalin dan tidak saat memperbarui atau membandingkan.