Kapan Menggunakan Opsi -a dan -r pada rsync

rsync adalah alat yang sangat populer dan efektif untuk mentransfer dan menyinkronkan file antara dua lokasi, baik itu di mesin lokal atau melalui jaringan. Dua opsi yang sering digunakan pada rsync adalah -a (archive) dan -r (recursive). Meskipun keduanya berhubungan dengan transfer direktori, ada perbedaan penting yang perlu kita pahami untuk memilih opsi yang tepat sesuai kebutuhan kita.

Opsi -r: Recursive

Opsi -r pada rsync berarti “recursive,” yang menginstruksikan rsync untuk menyinkronkan direktori secara rekursif, termasuk semua subdirektori di dalamnya. Dengan kata lain, jika kita menggunakan opsi -r, rsync akan menyalin semua file dan subdirektori di dalam direktori yang kita tentukan.

Kapan menggunakan -r?

  • Ketika kita hanya perlu menyinkronkan file dan struktur direktori: Jika tujuan kita hanyalah untuk memastikan bahwa seluruh struktur direktori dan file-file di dalamnya ditransfer dari satu lokasi ke lokasi lain, -r adalah opsi yang cukup.
  • Ketika atribut file tidak terlalu penting: Opsi -r hanya akan menyalin file dan direktori, tanpa mempertahankan atribut lain seperti izin, waktu modifikasi, dan kepemilikan.

Contoh penggunaan:

rsync -r /path/to/source/ user@remote:/path/to/destination/

Perintah ini akan menyinkronkan semua file dan subdirektori dari direktori sumber ke direktori tujuan, tetapi tidak akan mempertahankan atribut file.

Opsi -a: Archive

Opsi -a adalah singkatan dari “archive,” yang merupakan kumpulan dari beberapa opsi lain, termasuk -r. Selain menyinkronkan direktori secara rekursif, opsi ini juga mempertahankan atribut file seperti izin, waktu modifikasi, kepemilikan, dan lainnya.

Opsi -a setara dengan kombinasi dari:

  • -r (recursive)
  • -l (links – menyalin symbolic links sebagai links)
  • -p (perms – mempertahankan izin file)
  • -t (times – mempertahankan waktu modifikasi)
  • -g (group – mempertahankan grup file)
  • -o (owner – mempertahankan kepemilikan file)
  • -D (devices – mempertahankan device file dan special files)

Kapan menggunakan -a?

  • Ketika kita membutuhkan salinan yang lengkap dan setara: Jika kita ingin memastikan bahwa file yang disinkronkan memiliki semua atribut yang sama dengan file aslinya (seperti izin, waktu modifikasi, kepemilikan, dll.), kita harus menggunakan opsi -a.
  • Saat menyinkronkan backup atau mirror direktori: Opsi -a sangat ideal untuk membuat backup atau mirror dari sebuah direktori, di mana kita ingin hasil sinkronisasi menjadi identik dengan sumbernya.

Contoh penggunaan:

rsync -a /path/to/source/ user@remote:/path/to/destination/

Perintah ini akan menyinkronkan semua file dan subdirektori dari direktori sumber ke direktori tujuan, serta mempertahankan semua atribut file.

Kapan Menggunakan -a dan -r Secara Bersamaan?

Pada dasarnya, kita tidak perlu menggunakan -r secara eksplisit jika kita sudah menggunakan -a, karena -a sudah mencakup -r. Oleh karena itu, dalam sebagian besar kasus, cukup menggunakan opsi -a jika kita ingin sinkronisasi yang lengkap dan terperinci. Gunakan -r jika kita hanya membutuhkan rekursif sederhana tanpa memperhatikan atribut file.

Kesimpulan

Memahami kapan harus menggunakan -a atau -r pada rsync sangat penting untuk memastikan sinkronisasi file berjalan sesuai dengan kebutuhan kita. Opsi -r cukup untuk sinkronisasi dasar, tetapi jika kita menginginkan salinan yang lengkap dengan semua atribut file, -a adalah pilihan yang lebih baik. Pilih opsi yang sesuai dengan kebutuhan kita untuk mencapai hasil yang optimal.