Belajar Rsync - Backup Strategy: Incremental & Full
Episode 8 of 23

Belajar Rsync - Backup Strategy: Incremental & Full

Menyusun strategi backup yang benar: memahami full vs incremental backup, mengapa tar saja tidak cukup, dan pola hardlink snapshot ala time-machine dengan rsync -a --link-dest yang menghasilkan snapshot hemat ruang tanpa duplikasi data.

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

Pendahuluan

Sampai episode 7, kalian bisa menyalin dan sinkronisasi. Episode 8 mengubah perspektif: dari "menyalin file" menjadi menyusun strategi backup. Pertanyaan yang harus kalian jawab bukan "bagaimana menyalin", melainkan "kalau server mati hari ini, apa yang ingin kalian pulihkan, dan seberapa jauh ke belakang?"

Di sinilah rsync bersinar: dengan satu pola — hardlink snapshot — kalian bisa mendapat history backup harian yang tampak seperti full backup di setiap hari, tetapi hanya memakan ruang sebesar perubahan yang terjadi.

Konsep Backup: Full vs Incremental

  • Full backup — menyalin semua data setiap kali. Simpel dan mudah dipulihkan, tetapi boros: 30 hari backup harian = 30× ukuran data.
  • Incremental backup — hanya menyimpan perubahan sejak backup terakhir. Hemat ruang, tetapi pemulihan berantai: untuk mengembalikan hari ke-25, kalian butuh full + 24 delta berurutan. Satu link hilang, seluruh rantai putus.
  • Differential backup — hanya menyimpan perubahan sejak full backup terakhir. Kompromi antara dua di atas.
AspekFullIncrementalDifferential
UkuranBesarKecilSedang
PemulihanSatu langkahRantai deltaFull + satu delta
KompleksitasRendahTinggiSedang

Kenapa Tar Saja Tidak Cukup

tar membuat arsip full backup yang mahal ruang dan lambat dibuat ulang. Strategi umum "full tar mingguan + rsync harian" bekerja, tetapi ada kelemahan: arsip tar tidak bisa di-mount langsung, butuh ruang ekstra untuk arsip plus file mentah, dan mengembalikan satu file berarti membongkar arsip.

Hardlink snapshot menawarkan sesuatu yang tidak dimiliki tar: backup harian yang setiap hari terlihat lengkap dan bisa diakses langsung sebagai direktori biasa, tanpa rantai pemulihan.

Inti polanya: setiap hari, salin sumber ke direktori baru, tetapi file yang tidak berubah tidak perlu disalin — cukup buat hardlink ke file yang sama dari snapshot sebelumnya. Hardlink adalah dua nama (atau lebih) yang menunjuk ke inode yang sama; tidak ada duplikasi data di disk.

Snapshot hari ke-1 (full)
mkdir -p /backup/backup-1
rsync -a /home/data/ /backup/backup-1/
Snapshot hari ke-2 (hemat ruang)
rsync -a --link-dest=../backup-1/ /home/data/ /backup/backup-2/

Pada hari ke-2, file yang tidak berubah dari hari ke-1 menjadi hardlink (hampir gratis), file baru disalin penuh, file yang diubah ditulis ulang. backup-2 terlihat seperti full backup — kalian bisa browsing, menyalin, atau menghapus bebas — tetapi hanya memakan ruang untuk data yang benar-benar baru.

Poin penting --link-dest: path-nya relatif terhadap direktori tujuan. Karena tujuan adalah /backup/backup-2, maka ../backup-1 merujuk ke /backup/backup-1. Verifikasi hemat ruangnya:

Verifikasi hardlink
ls -la /backup/backup-2/
stat -c '%i %h %n' /backup/backup-1/file.txt /backup/backup-2/file.txt

stat menampilkan inode (%i) dan jumlah hardlink (%h). Jika dua file memiliki inode sama dan %h = 2, mereka berbagi data yang sama — bukti snapshot hemat ruang bekerja.

Note

--link-dest hanya membuat hardlink untuk file yang tidak berubah. File yang diubah ditulis sebagai file baru — rsync tidak pernah menimpa file di snapshot lama, sehingga setiap snapshot tetap utuh dan konsisten. Inilah yang membuatnya aman untuk history backup.

Memverifikasi Snapshot

Kebiasaan yang harus ditanam: backup yang tidak pernah diuji restore sama dengan tidak punya backup. Untuk snapshot, uji cukup dengan menyalin satu snapshot ke direktori sementara dan membandingkan:

Uji restore snapshot
rsync -a /backup/backup-2/ /tmp/restore-test/
diff -r /home/data/ /tmp/restore-test/

diff -r membandingkan isi. Jika tidak ada perbedaan, snapshot layak dipercaya. Kita lanjutkan kebiasaan verifikasi ini di episode 16 (dry-run & checksum).

Kelebihan dan Kekurangan

KelebihanKekurangan
Setiap snapshot terlihat full, bisa diakses langsungButuh filesystem yang mendukung hardlink (ext4, xfs, btrfs, zfs)
Hemat ruang besar untuk data yang lambat berubahSimpul inode dan hardlink tidak bekerja di filesystem FAT/NFS lama
Tidak ada rantai restore — hapus satu snapshot amanHistory "sebagian": snapshot hanya menangkap perubahan harian
Snapshot lama bisa dihapus tanpa merusak yang lainButuh skrip rotasi agar tidak menumpuk (episode 9)

Penutup

Pada episode 8 ini, kalian telah memahami strategi backup dan pola hardlink snapshot.

Inti yang harus dibawa pulang:

  • Full vs incremental vs differential: pahami trade-off ukuran vs kerumitan restore.
  • tar bukan solusi optimal untuk backup harian yang bisa diakses langsung.
  • Hardlink snapshot: file tidak berubah = hardlink, file berubah = salinan baru.
  • --link-dest=../backup-1/ relatif terhadap direktori tujuan.
  • Selalu uji restore — backup yang tidak teruji tidak bernilai.

Di episode 9 selanjutnya, kita otomatiskan semuanya: hardlink snapshot & rotasi backup — skrip rotating daily/weekly/monthly dengan --link-dest, pembersihan snapshot lama, dan best practice --delete + --delete-excluded yang konsisten antar snapshot. Sampai jumpa di episode 9!