Belajar Borg Backup (tool backup deduplikasi, kompresi, dan enkripsi otentikasi dari Python) dari dasar hingga production-grade: pre-requisites skill & setup environment, sejarah latar belakang & mengapa membutuhkannya, konsep dasar & arsitektur utama, inisialisasi repository, backup pertama dengan borg create, restore & extract, kompresi zstd lz4 & zlib, enkripsi & key management, prune & compact retention, otomasi dengan borgmatic, backup database konsisten, borg di remote server SSH, check & maintenance, keamanan repository, hardening & multi-host, CVE & security releases, troubleshooting, Borg 1.4.5 vs Borg 2.0, performance & large dataset, ekosistem BorgWeb & tools, monitoring & alerting, roadmap & community, hingga ekosistem alternatif & refleksi akhir dengan total 23 episode.
Sebelum menyentuh borg create, kalian perlu menguasai CLI Linux, konsep file permission, dan ide dasar backup full/incremental, lalu menyiapkan Linux dengan borgbackup 1.4.5, direktori repository lokal atau remote via SSH, dan tooling otomasi opsional seperti cron dan borgmatic. Episode ini memastikan seluruh environment siap dipakai.

Sebelum menulis perintah pertama, kalian perlu tahu dari mana Borg berasal (fork Attic tahun 2010), filosofi desainnya yang fokus pada deduplicating backup, status rilis Borg 1.4.x yang stabil dan Borg 2.0 yang masih beta, serta alasan nyata mengapa backup berbasis dedup dan enkripsi penting untuk server dan workload harian.

Episode ini membedah cara kerja Borg: repository sebagai tempat penyimpanan data dan index, archive sebagai snapshot dataset per waktu, chunker content-defined sebagai kunci deduplication, serta peran binary borg, lokasi repo, dan key. Kalian juga mendapat peta subcommand yang menjadi alur hidup backup.

Inisialisasi repository adalah langkah pertama yang nyata: memilih mode enkripsi (repokey vs keyfile vs authenticated), menjalankan borg init dengan benar, lalu mengatur variabel environment BORG_REPO dan BORG_PASSCOMMAND tanpa hardcode passphrase. Episode ini memastikan repository kalian aman sejak lahir.

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.

Backup tanpa restore yang teruji bukanlah backup. Episode ini mengajarkan cara mengembalikan data dengan borg extract, memilih file secara selektif lewat --path, menjelajah archive dengan borg mount (FUSE), serta praktik terbaik: restore ke direktori bersih, dry-run, dan verifikasi hasil.

Kompresi menentukan keseimbangan antara ruang penyimpanan dan beban CPU. Episode ini membahas pilihan kompresi Borg — lz4 yang cepat, zstd yang seimbang, zlib dengan rasio tinggi — trade-off-nya, cara memilih level, dan membaca angka rasio kompresi dari borg info untuk memastikan pilihan kalian tepat.

Enkripsi adalah garis pertahanan terakhir backup: tanpa key atau passphrase yang benar, repository tidak terbaca. Episode ini membedah mode repokey, keyfile, dan authenticated, mengajarkan export dan import key, serta strategi menyimpan passphrase dan keyfile agar kalian tidak mengunci data sendiri.

Backup yang menumpuk tanpa kebijakan akan menghabiskan ruang dan memperlambat maintenance. Episode ini mengajarkan retention policy dengan borg prune (keep-daily/weekly/monthly), reclaim ruang lewat borg compact, menyelaraskan kebijakan dengan RPO dan RTO, serta memakai --keep-tag untuk melindungi archive tertentu dari pemusnahan.

Backup manual tidak berkelanjutan di produksi. Episode ini memperkenalkan borgmatic: satu file konfigurasi YAML yang merangkum source directories, repositories, retention, dan checks, lalu dijalankan lewat cron atau systemd timer. Kalian juga belajar hooks before/after dan menjalankan borgmatic dengan verbosity dan stats.
