Strategi pencadangan data (backup) adalah fondasi pertahanan paling vital bagi sistem administrator dalam menghadapi bencana server, kega...
Strategi pencadangan data (backup) adalah fondasi pertahanan paling vital bagi sistem administrator dalam menghadapi bencana server, kegagalan disk keras, maupun serangan ransomware. Namun, metode backup konvensional berbasis arsip tar.gz atau sinkronisasi rsync penuh sering kali membebani ruang penyimpanan secara berlebihan dan menghabiskan bandwidth jaringan karena menyalin data yang identik secara berulang-ulang.
BorgBackup (dikenal sebagai Borg) adalah solusi backup modern berbasis deduplikasi chunking terenkripsi yang secara drastis menghemat kapasitas penyimpanan server hingga 70-85%. Ketika dipadukan dengan Borgmatic—konfigurasi declarative wrapper berbasis YAML—proses backup basis data, direktori aplikasi, rotasi pruning retensi, dan pengiriman notifikasi alert dapat diotomatisasi secara elegan tanpa script bash manual yang rapuh.
1. Mengapa Memilih BorgBackup & Borgmatic?
Kombinasi BorgBackup dan Borgmatic memberikan efisiensi luar biasa untuk server produksi maupun homelab:
- Deduplikasi Chunking Cerdas: Borg memecah berkas menjadi potongan (chunk) berukuran dinamis. Hanya potongan data yang benar-benar berubah yang akan diunggah ke repositori, menghemat waktu transfer data.
- Enkripsi Kriptografis Authenticated: Seluruh data dienkripsi di sisi klien menggunakan algoritma 256-bit AES-CTR atau ChaCha20-Poly1305 sebelum meninggalkan mesin server.
- Dukungan Remote SSH & S3: Repositori backup dapat disimpan di disk lokal, server NAS terpisah via SSH, maupun object storage cloud via rclone mount.
- Automated Database Dumps: Borgmatic secara otomatis melakukan dump database PostgreSQL, MySQL/MariaDB, dan SQLite sebelum proses pengarsipan file dijalankan.
2. Instalasi BorgBackup dan Borgmatic
Di distribusi Ubuntu 22.04 / 24.04 LTS atau Debian 12, pasang paket BorgBackup dan Borgmatic langsung dari repositori resmi:
# Update repository dan install BorgBackup serta Borgmatic
sudo apt update
sudo apt install -y borgbackup borgmatic
# Verifikasi versi terpasang
borg --version
borgmatic --version
3. Inisialisasi Repositori Backup Terenkripsi
Buat direktori repositori backup (misalnya pada secondary storage atau mounted NAS volume) dan inisialisasi dengan mode enkripsi kuat repokey-blake2:
# Buat direktori repositori backup
sudo mkdir -p /mnt/backup-storage/borg-repo
# Inisialisasi repositori dengan password enkripsi yang kuat
sudo borg init --encryption=repokey-blake2 /mnt/backup-storage/borg-repo
# Simpan salinan cadangan kunci repositori (Borg Key) di tempat aman
sudo borg key export /mnt/backup-storage/borg-repo ~/borg-repo-backup.key
4. Konfigurasi Declarative Borgmatic (YAML)
Hasilkan template konfigurasi Borgmatic dan sesuaikan direktori yang ingin dicadangkan:
# Generate direktori konfigurasi borgmatic
sudo mkdir -p /etc/borgmatic
cat << 'EOF' | sudo tee /etc/borgmatic/config.yaml
# Direktori yang ingin dicadangkan
source_directories:
- /etc
- /var/www
- /home/ubuntu
- /var/lib/docker/volumes
# Repositori tujuan
repositories:
- path: /mnt/backup-storage/borg-repo
label: local_storage
# Kata sandi repositori Borg
encryption_passphrase: "KunciSandiEnkripsiRahasiaServer2026!"
# Retensi rotasi backup (Pruning Policy)
retention:
keep_hourly: 24
keep_daily: 7
keep_weekly: 4
keep_monthly: 6
keep_yearly: 1
# Konsistensi pemeriksaan integritas arsip
consistency:
checks:
- repository
- archives
check_last: 3
# Integrasi Dump Database Otomatis
postgresql_databases:
- name: app_production
username: postgres
# Notifikasi Webhook (Discord / Slack / Apprise)
hooks:
before_backup:
- echo "[*] Memulai backup terjadwal..."
after_backup:
- echo "[+] Backup berhasil selesai dan dipruning."
on_error:
- curl -X POST -H 'Content-type: application/json' --data '{"content":"ALERT: Backup server gagal pada node produksi!"}' https://discord.com/api/webhooks/YOUR_WEBHOOK_URL
EOF
sudo chmod 600 /etc/borgmatic/config.yaml
5. Pengujian Manual dan Eksekusi Ekstraksi Data
Lakukan uji coba eksekusi konfigurasi Borgmatic sebelum mendaftarkannya ke cron atau systemd timer:
# Uji coba proses backup, pruning, dan check
sudo borgmatic --verbosity 1
# Melihat daftar arsip backup yang telah dibuat
sudo borgmatic list
Untuk menguji pemulihan (restore) berkas tertentu tanpa menimpa berkas asli:
# Pindah ke direktori restorasi sementara
mkdir -p /tmp/restore && cd /tmp/restore
# Ekstrak berkas /etc/nginx dari arsip terakhir
sudo borg extract /mnt/backup-storage/borg-repo::nama-arsip etc/nginx
borg key export) dan passphrase. Selalu simpan passphrase di password manager aman dan simpan file borg-repo-backup.key di media fisik offline terpisah.
6. Mengaktifkan Otomatisasi via Systemd Timer
Borgmatic menyediakan service dan timer systemd bawaan yang siap diaktifkan:
# Aktifkan timer systemd untuk menjalankan backup harian otomatis
sudo systemctl enable --now borgmatic.timer
# Periksa jadwal eksekusi timer berikutnya
systemctl list-timers borgmatic.timer
Dengan BorgBackup dan Borgmatic, sistem backup server Anda beroperasi secara senyap, hemat storage, terenkripsi militer, dan terverifikasi secara berkala.
COMMENTS