Biasanya, rsyncmelompati file ketika file memiliki ukuran dan waktu yang sama di sisi sumber dan tujuan. Ini adalah heuristik yang biasanya merupakan ide yang baik, karena mencegah rsyncdari harus memeriksa isi file yang sangat mungkin identik pada sisi sumber dan tujuan.
--ignore-timesmemberitahu rsyncuntuk mematikan heuristik waktu-dan-ukuran file, dan dengan demikian mentransfer SEMUA file tanpa syarat dari sumber ke tujuan. rsynckemudian akan melanjutkan untuk membaca setiap file di sisi sumber, karena itu akan perlu menggunakan algoritma delta-transfer, atau cukup mengirim setiap file secara keseluruhan, tergantung pada apakah --whole-fileopsi tersebut ditentukan.
--checksumjuga memodifikasi heuristik waktu-dan-ukuran file, tetapi di sini mengabaikan waktu dan hanya memeriksa ukuran. File pada sisi sumber dan tujuan yang berbeda dalam ukuran ditransfer, karena mereka jelas berbeda. File dengan ukuran yang sama adalah checksummed (dengan MD5 dalam rsyncversi 3.0.0+, atau dengan MD4 di versi sebelumnya), dan yang ditemukan memiliki jumlah yang berbeda juga ditransfer.
Dalam kasus di mana sisi sumber dan tujuan sebagian besar sama, --checksumakan menghasilkan sebagian besar file checksummed di kedua sisi. Ini bisa memakan waktu lama, tetapi hasilnya adalah bahwa data minimum yang paling sederhana sebenarnya akan ditransfer melalui kabel, terutama jika algoritma delta-transfer digunakan. Tentu saja, ini hanya kemenangan jika Anda memiliki jaringan yang sangat lambat, dan / atau CPU yang sangat cepat.
--ignore-times, di sisi lain, akan mengirim lebih banyak data melalui jaringan, dan itu akan menyebabkan semua file sumber dibaca, tetapi setidaknya itu tidak akan membebani beban tambahan komputasi banyak hashsum yang kuat secara kriptografis pada CPU sumber dan tujuan. Saya berharap opsi ini berkinerja lebih baik daripada --checksumketika jaringan Anda cepat, dan / atau CPU Anda relatif lambat.
Saya pikir saya hanya akan menggunakan --checksumatau --ignore-timesjika saya mentransfer file ke tujuan di mana diduga bahwa beberapa file rusak, tetapi waktu modifikasinya tidak berubah. Saya tidak bisa memikirkan alasan bagus lainnya untuk menggunakan kedua opsi ini, walaupun mungkin ada beberapa use case lainnya.
--checksumberguna bersama--itemize-changesuntuk memverifikasi cadangan. Sesekali skrip cadangan saya menjalankan perbandingan penuh dengan cara ini setelah pembaruan harian / mingguan saat ini selesai. Saya mendapatkan email yang ditandai mendesak jika--itemize-changesoutput sesuatu yang tidak terduga, jadi saya tahu ada potensi masalah yang harus saya perhatikan.