Saya membuat perubahan kecil ke file gambar file yang sangat besar (hanya selisih beberapa piksel) yang membutuhkan waktu lama untuk ditransfer melalui jaringan.
Apakah ada cara bagi rsync untuk mengidentifikasi perbedaan dalam file dan hanya mengirim perbedaan kecil melalui jaringan?
rsync
berperilaku seperti ini secara default. Selama perubahan minor adalah perubahan kecil pada file, dan file tersebut sudah ada di kedua sisi tautan dalam versi yang hampir identik, data yang ditransfer harus jauh lebih kecil daripada ukuran total file. Dari paragraf pertama di halaman manual: "Ia terkenal dengan algoritma delta-transfer-nya, yang mengurangi jumlah data yang dikirim melalui jaringan dengan hanya mengirim perbedaan antara file sumber dan file yang ada di tujuan."Jawaban:
rsync
Algoritma delta-transfer melakukan ini secara default. Mengutip halaman manual rsync :Jika Anda ingin menonaktifkannya, Anda harus menggunakan opsi
-W
atau--whole-file
.Jika Anda benar-benar tahu berapa banyak file Anda telah berubah, Anda bahkan dapat mengoptimalkan perilaku transfer delta ini dengan menyetel ukuran blok delta Anda:
Dan jika Anda ingin informasi lebih lanjut tentang algoritma itu sendiri, Anda dapat menemukannya di sini: Algoritma Rsync
sumber