Perbedaan utama antara alat-alat ini adalah bagaimana mereka menyalin file.
scppada dasarnya membaca file sumber dan menulisnya ke tujuan. Ia melakukan salinan linear biasa, secara lokal, atau melalui jaringan.
rsyncjuga menyalin file secara lokal atau melalui jaringan. Tetapi menggunakan algoritma transfer delta khusus dan beberapa optimasi untuk membuat operasi jauh lebih cepat. Pertimbangkan panggilannya.
rsync A host:B
rsyncakan memeriksa ukuran file dan stempel waktu modifikasi A dan B , dan melewati pemrosesan lebih lanjut jika cocok.
Jika file tujuan B sudah ada, algoritma transfer delta akan memastikan hanya perbedaan antara A dan B yang dikirim melalui kabel.
rsyncakan menulis data ke file sementara T , dan kemudian mengganti file tujuan B dengan T untuk membuat update tampilan "atom" untuk proses yang mungkin menggunakan B .
Perbedaan lain di antara mereka menyangkut doa. rsyncmemiliki sejumlah opsi baris perintah, yang memungkinkan pengguna menyesuaikan perilakunya. Ini mendukung aturan filter yang kompleks, berjalan dalam mode batch, mode daemon, dll. Hanya scpmemiliki beberapa switch.
Singkatnya, gunakan scpuntuk tugas sehari-hari Anda. Perintah yang Anda ketik sesekali pada shell interaktif Anda. Ini lebih mudah digunakan, dan dalam kasus itu rsyncoptimasi tidak akan banyak membantu.
Untuk tugas berulang, seperti cronpekerjaan, gunakan rsync. Seperti yang disebutkan, pada banyak pemanggilan akan mengambil keuntungan dari data yang sudah ditransfer, berkinerja sangat cepat dan menghemat sumber daya. Ini adalah alat yang sangat baik untuk menjaga dua direktori disinkronkan melalui jaringan.
Juga, ketika berhadapan dengan file besar, gunakan rsyncdengan -Popsi. Jika transfer terputus, Anda dapat melanjutkannya di tempat terhenti dengan menerbitkan kembali perintah. Lihat jawaban Sid Kshatriya .