Backup pertama adalah momen "lampu menyala": menjalankan borg create untuk menyimpan /home dan /etc ke repository, memakai pola nama archive host-timestamp, mengecualikan file dengan --exclude, dan membaca statistik lewat --stats, borg list, dan borg info. Kalian akan melihat deduplication bekerja untuk pertama kali.

Repository sudah lahir di episode 3. Sekarang saatnya aksi nyata: membuat backup pertama. Ini momen penting karena di sini kalian melihat deduplication bekerja, belajar membaca statistik, dan membangun kebiasaan menamai archive yang baik. Pilihan nama archive yang buruk akan menghantui kalian saat mencari file di masa depan — jadi mari lakukan dengan benar sejak awal.
export BORG_REPO=/backup/borg
export BORG_PASSCOMMAND='cat /root/.borg-passphrase'
borg create --stats --list /backup/borg::"{hostname}-{now}" /home /etcMari bedah bagian-bagiannya:
/backup/borg::"{hostname}-{now}" — setelah :: adalah nama archive. {hostname} dan {now} adalah placeholder Borg yang diganti otomatis menjadi nama host dan timestamp lokal. Hasilnya misalnya web-01-2026-08-13T10:30:00./home /etc — direktori sumber yang dibackup.--list — mencetak setiap file yang diproses (berguna saat pertama kali, tidak wajib selalu).--stats — menampilkan ringkasan: jumlah file, ukuran asli, ukuran setelah dedup, dan rasio kompresi.Borg menyediakan placeholder yang bisa dikombinasikan:
{hostname} / {fqdn} — nama host.{now} — timestamp waktu lokal; {utcnow} untuk UTC.{user} — user yang menjalankan backup.Pola "{hostname}-{now}" adalah standar industri: satu glance langsung tahu data siapa dan kapan. Kalian juga bisa menambahkan suffix untuk jenis data, misalnya "{hostname}-{now}-db".
Backup penuh /home akan menyeret cache, build artifact, dan file sementara — membuang ruang dan memperlambat backup. Bersihkan dengan eksklusi:
borg create --stats \
--exclude '*.pyc' \
--exclude '*/node_modules/*' \
--exclude '*/target/*' \
--exclude-caches \
/backup/borg::"{hostname}-{now}" /home /etc--exclude menerima pola glob; gunakan * di awal agar cocok di kedalaman mana pun.--exclude-caches melewatkan direktori yang mengandung file CACHEDIR.TAG — standar yang dipakai banyak tool (termasuk git dan build system) untuk menandai direktori cache.Untuk kontrol berbasis marker, gunakan --exclude-if-present <filename>: direktori yang berisi file penanda akan dilewati. Ini cara yang rapi bila kalian ingin "opt-in" pada file tertentu, misalnya --exclude-if-present .no-backup.
Biasakan memeriksa apa yang akan disalin sebelum mengeksekusi:
borg create --dry-run --list /backup/borg::"{hostname}-{now}-dry" /home /etc--dry-run tidak menulis apa pun — hanya menunjukkan file yang akan disertakan. Perhatikan bahwa archive dummy ikut dibuat namanya, jadi beri penanda -dry agar tidak bingung nanti.
borg list /backup/borgOutput-nya seperti ini:
web-01-2026-08-13T10:30:00 Thu, 2026-08-13 10:30:00 [abc123...]
web-01-2026-08-14T02:00:00 Fri, 2026-08-14 02:00:00 [def456...]Dua kolom terakhir adalah ID archive (hash) dan waktu pembuatan.
borg info /backup/borg::"web-01-2026-08-13T10:30:00"borg info menampilkan angka yang wajib dibaca:
Angka "Original size" vs "Deduplicated size" adalah bukti dedup bekerja: jika backup kedua hampir tidak menambah ukuran, dedup sukses.
Tip
Sebelum membuat archive kedua, ubah satu file kecil dulu (atau tambahkan file baru), lalu jalankan borg create lagi dan bandingkan --stats. Kalian akan melihat "Deduplicated size" hanya bertambah sedikit — dedup content-defined sedang bekerja.
{hostname}, dua host yang berbagi repo akan saling menimpa nama. Selalu sertakan identitas host.--stats: tanpa stats kalian buta apakah backup benar-benar efisien dan sukses. Selalu sertakan di jadwal manual.borg create --stats /backup/borg::"{hostname}-{now}" /home /etc adalah backup pertama kalian.--exclude, --exclude-caches, dan --exclude-if-present untuk menghindari sampah.borg list menampilkan seluruh archive; borg info menunjukkan angka dedup dan kompresi.Di episode 5 kita mempelajari sisi yang sering dilupakan banyak orang: restore & extract — mengembalikan data dengan borg extract, memilih file secara selektif dengan --path, menjelajah archive via borg mount (FUSE), dan praktik terbaik restore ke direktori bersih dengan verifikasi.