Belajar Rsync - Flag Penting: -a, -v, -h, -z, -P, --delete
Episode 5 of 23

Belajar Rsync - Flag Penting: -a, -v, -h, -z, -P, --delete

Membedah flag yang paling sering dipakai dalam satu episode: -a (archive), -v (verbose), -h (human-readable), -z (kompresi), -P (--partial dan --progress), --delete untuk mirroring, serta -n (dry-run) sebagai pengaman sebelum eksekusi.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Pendahuluan

Sejauh ini kalian sudah menjalankan rsync -avh tanpa tahu betul apa yang terjadi di balik setiap huruf. Episode 5 mengubah itu: kita bedah satu per satu flag penting yang akan menyertai hampir semua perintah rsync kalian. Menguasai flag berarti menguasai bahasa rsync — dan menghindari kejutan seperti mode permission berubah atau file tersilakan terhapus.

-a: Archive

-a adalah flag terpenting. Ia bukan satu perilaku, melainkan gabungan dari beberapa flag sekaligus:

plaintext
-a = -rlptgoD
HurufArti
rRekursif — turun ke semua subdirektori
lSymlink — simpan sebagai symlink, bukan salin targetnya
pPermissions — pertahankan izin file
tTimes — pertahankan mtime (dasar delta-transfer)
gGroup — pertahankan group ownership
oOwner — pertahankan owner
DDevice & special files — pertahankan perangkat dan file khusus

Dengan -a, backup kalian menjadi cermin fidelitas tinggi: file di tujuan akan memiliki permission, owner, timestamp, dan symlink yang sama dengan sumber. Inilah mengapa -a disebut archive mode — ia menghasilkan salinan arsip yang setia.

Note

-a tidak menyertakan ACL (-A), extended attributes (-X), atau hardlink (-H). Tiga hal itu kita tambahkan di episode 15. Kebiasaan di server migrasi: rsync -avHAX — kombinasi lengkap untuk fidelitas maksimum.

-v dan -h: Verbose dan Human-Readable

  • -v (verbose) — menampilkan daftar file yang sedang ditransfer. Tambahkan -v lagi (-vv, -vvv) untuk debug lebih dalam. Di produksi, -v membantu memantau apa yang sebenarnya dikerjakan; tanpa -v, rsync hampir tidak bersuara.
  • -h (human-readable) — menampilkan ukuran dalam format mudah dibaca (KB, MB, GB) di output ringkasan, bukan byte mentah.
Verbose + human-readable
rsync -avh src/ dest/

Output ringkasannya — sent, received, speedup — hanya terbaca dengan nyaman jika -h aktif.

-z: Kompresi

-z mengompresi data selama transfer:

Dengan kompresi
rsync -avhz src/ dest/

-z paling menguntungkan di jaringan lambat atau jauh (WAN, VPN, lintas benua) karena mengurangi byte yang melewati koneksi. Sebaliknya, di jaringan lokal cepat atau disk-to-disk, kompresi justru menambah beban CPU dan bisa memperlambat — file yang sudah terkompresi (video, zip, image) tidak bisa dikompres lagi. Kita ukur dampaknya secara kuantitatif di episode 12.

-P: --partial + --progress

-P adalah kependekan dari dua flag sekaligus:

  • --partial — simpan file yang transfernya terputus sebagai file parsial, supaya bisa dilanjutkan, alih-alih dibuang.
  • --progress — tampilkan progress real-time: persentase, kecepatan, dan perkiraan waktu selesai.
Progress transfer
rsync -avhP src/ dest/

Kombinasi -P sangat berharga untuk file besar (database dump, image): kalau koneksi putus di 60%, rsync menyimpan 60% yang sudah jadi dan melanjutkan dari sana pada percobaan berikutnya, bukan mulai dari nol. Detail mekanisme partial ada di episode 7.

--delete: Cermin Persis

--delete membuat tujuan identik dengan sumber dengan menghapus file ekstra di tujuan:

Mirroring dengan delete
rsync -avh --delete src/ dest/

Kegunaannya: menjaga mirror agar tidak menumpuk file yang sudah dihapus di sumber. Tanpa --delete, tujuan hanya bertambah, tidak pernah berkurang — lama-lama backup menampung sampah yang "sudah tidak ada" di sumber.

Warning

--delete adalah pedang bermata dua. Contoh kesalahan klasik: rsync -avh --delete dest/ src/ (terbalik arah) akan menghapus isi src karena "mirroring" dari dest. Selalu uji dengan -n dulu, dan jangan pernah menaruh --delete di perintah interaktif yang di-typo. Variasi yang lebih aman: --delete-before, --delete-after, --delete-excluded (episode 9).

-n: Dry-Run

-n (dry-run) menjalankan rsync tanpa melakukan apa pun — hanya menampilkan apa yang akan dilakukan:

Dry-run yang aman
rsync -avh --delete -n src/ dest/

Dry-run adalah pengaman nomor satu. Gabungkan dengan -i (itemize, episode 16) untuk melihat perubahan spesifik per file sebelum eksekusi. Kebiasaan produksi: selalu dry-run dulu untuk perintah yang menyentuh data penting.

Kombinasi Umum yang Perlu Dihafal

PerintahArti
rsync -avh src/ dest/Backup standar
rsync -avhP src/ dest/Backup + progress + resume aman
rsync -avhz --delete src/ dest/Mirror jarak jauh
rsync -avh --delete -n src/ dest/Dry-run mirror

Mulai dari kombinasi ini, kalian tinggal menambah flag khusus sesuai kebutuhan: filter (episode 6), throttle (episode 12), atau checksum (episode 16).

Penutup

Pada episode 5 ini, kalian telah menguasai enam flag paling penting dalam kosakata rsync.

Inti yang harus dibawa pulang:

  • -a = -rlptgoD — fidelitas penuh: permission, timestamp, owner, symlink, device.
  • -v verbose, -h human-readable, -z kompresi (untung di WAN, rugi di LAN).
  • -P = --partial + --progress — resume transfer terputus.
  • --delete membuat mirror persis; selalu uji dry-run dulu.
  • -n dry-run adalah pengaman nomor satu sebelum eksekusi.

Di episode 6 selanjutnya, kita belajar memilih file: --exclude, --include, --exclude-from, pola /dir/ vs dir/, dan kasus nyata mengecualikan .git/, node_modules, cache, serta file sementara dari backup. Sampai jumpa di episode 6!

Belajar Rsync - Flag Penting: -a, -v, -h, -z, -P, --delete | Belajar Rsync