Backup Otomatis untuk Home Server — restic vs borgbackup, Mana yang Pas untuk Kamu?
Beberapa waktu lalu, aku sempat panik karena salah satu container di home server tiba-tiba tidak bisa di-start. Penyebabnya sederhana: disk penuh, dan aku baru sadar setelah layanan mati. Untungnya, data penting sudah tersimpan di tempat lain. Tapi kejadian itu membuatku berpikir: backup itu bukan hanya soal menyimpan cadangan, melainkan asuransi kecil yang membuat tidur malam jadi lebih nyenyak.
Di artikel ini, aku ingin membahas dua alat backup yang sering muncul di komunitas home server: restic dan borgbackup. Keduanya gratis, open source, mendukung deduplikasi, enkripsi, dan bisa dijalankan dari terminal. Tapi cara kerja dan filosofinya berbeda, seperti memilih antara koper ransel yang ringan atau koper keras yang lebih terstruktur.
Mengapa Backup Butuh Rencana, Bukan Hanya Niat
Di era cloud, banyak orang menganggap backup cukup dengan menyimpan file di Google Drive, Dropbox, atau layanan sejenis. Padahal, cadangan yang baik mengikuti prinsip 3-2-1: tiga salinan data, di dua media berbeda, satu di lokasi berbeda secara fisik. Layanan cloud memang membantu, tapi kita juga perlu cadangan lokal yang bisa diakses cepat tanpa bergantung pada koneksi internet.
Bayangkan kamu punya lemari arsip. Cloud adalah gudang penyimpanan di luar kota, sementara backup lokal adalah laci di meja kerja. Kalau butuh dokumen mendadak, tentu lebih cepat mengambil dari laci. Tapi kalau rumah kebakaran, baru datang ke gudang luar kota. Keduanya saling melengkapi, bukan saling menggantikan.
Apa Itu Deduplikasi, dan Kenapa Penting
Salah satu alasan aku menyukai restic dan borgbackup adalah fitur deduplikasi. Tanpa deduplikasi, setiap kali kamu menjalankan backup, seluruh file di-copy ulang meskipun isinya sama. Deduplasi memastikan hanya blok data yang berbeda yang disimpan. Jadi, backup harian tidak akan memakan ruang besar, mirip seperti menulis catatan harian di buku yang sama: halaman baru ditambah hanya jika ada cerita baru.
Fitur ini sangat berguna untuk home server, di mana kita sering menyimpan banyak file kecil, konfigurasi container, atau database yang berubah sedikit setiap harinya. Selain deduplikasi, keduanya juga menawarkan enkripsi, kompresi, dan verifikasi integritas cadangan.
restic: Ringan, Cepat, dan Cloud-Native
restic ditulis dengan bahasa Go dan dirancang dengan semangat modern: cepat, paralel, dan mendukung banyak backend penyimpanan. Kamu bisa menyimpan backup ke direktori lokal, SFTP, Amazon S3, MinIO, Backblaze B2, Azure Blob, Google Cloud Storage, bahkan REST server khusus.
Instalasi di Debian atau Ubuntu sangat mudah:
sudo apt update
sudo apt install restic
Membuat repository restic:
export RESTIC_REPOSITORY=/mnt/backup/restic
export RESTIC_PASSWORD=password-yang-kuat-dan-unik
restic init
Menjalankan backup:
restic backup /home/adam/data /var/www --exclude-file=/home/adam/exclude.txt
Menampilkan daftar snapshot:
restic snapshots
Memulihkan file tertentu:
restic restore latest --target /tmp/restore --include /home/adam/data/file.txt
Salah satu keunggulan restic adalah proses backup yang bisa berjalan paralel. Jika ada banyak file kecil, restic umumnya lebih cepat dibanding borgbackup. Selain itu, sintaksnya cenderung lebih konsisten dan mudah diingat.
borgbackup: Solid, Terstruktur, dan Hemat Resource
borgbackup, atau sering disebut Borg, ditulis dengan Python dan C. Borg lebih tua dari restic, dan pendekatannya sedikit lebih tradisional. Borg menyimpan backup dalam satu repository dengan format arsip yang terstruktur rapi. Deduplikasinya sangat baik, bahkan untuk file besar yang sedikit berubah.
Instalasi borgbackup:
sudo apt install borgbackup
Membuat repository:
export BORG_REPO=/mnt/backup/borg
export BORG_PASSPHRASE=password-yang-kuat-dan-unik
borg init --encryption=repokey-blake2
Menjalankan backup:
borg create ::{now} /home/adam/data /var/www --exclude-from /home/adam/exclude.txt
Menampilkan daftar arsip:
borg list
Memulihkan file:
borg extract ::2025-07-25T10-00-00 home/adam/data/file.txt
Salah satu fitur unik Borg adalah borg mount, yang memungkinkan kita memasang arsip sebagai filesystem read-only. Ini sangat berguna untuk menelusuri cadangan lama tanpa harus mengekstrak seluruh file terlebih dahulu.
Perbandingan Singkat: restic vs borgbackup
| Fitur | restic | borgbackup |
|---|---|---|
| Bahasa | Go | Python + C |
| Deduplikasi | Ya | Ya |
| Enkripsi | AES-256-GCM | AES-256-CTR / BLAKE2 |
| Backend | S3, B2, GCS, Azure, SFTP, REST, lokal | Lokal, SSH, BorgBase |
| Paralel | Ya, lebih agresif | Terbatas |
| Mount arsip | Ya | Ya, lebih matang |
| Konsumsi RAM | Lebih tinggi saat banyak file | Cenderung lebih hemat |
Pilihan antara keduanya sering kembali ke kebutuhan. Jika kamu ingin backup ke cloud object storage dengan sinkronisasi cepat, restic adalah pilihan yang lebih natural. Jika kamu lebih nyaman dengan backup lokal atau SSH, dan menginginkan stabilitas format arsip yang sudah teruji bertahun-tahun, borgbackup tetap sangat layak.
Strategi Backup di Home Server
Di serverku, aku menggunakan pendekatan gabungan. Data penting seperti konfigurasi Nginx, database, dan dokumen pribadi di-backup secara harian ke disk eksternal menggunakan borgbackup. Sekali seminggu, snapshot Borg yang sudah jadi di-sync ke cloud storage menggunakan rclone. Dengan cara ini, aku mendapatkan kecepatan restore dari lokal dan redundansi jarak jauh dari cloud.
Jika kamu baru memulai, mulailah dari yang sederhana. Pilih satu direktori yang paling penting, buat repository lokal, lalu jadwalkan backup dengan cron atau systemd timer. Jangan lupa menambahkan exclude untuk file yang tidak perlu dicadangkan, seperti log, cache, atau temporary file.
Contoh file exclude untuk home server:
/var/log
/tmp
/home/*/.cache
/var/cache
*.log
Jangan Lupa Tes Restore
Backup yang paling berbahaya adalah backup yang tidak pernah diuji. Banyak orang merasa aman hanya karena ada file backup, padahal belum pernah mencoba memulihkan data. Setidaknya sekali sebulan, lakukan uji restore file kecil dari cadangan. Proses ini seperti latihan kebakaran: membosankan saat tidak ada masalah, tapi sangat berharga saat keadaan darurat.
Untuk restic, uji restore bisa dilakukan dengan mengekstrak ke direktori sementara. Untuk borgbackup, kamu bisa memasang arsip dan menjelajahinya seperti folder biasa. Pastikan file yang dipulihkan benar-benar bisa dibuka dan tidak corrupt.
Kesimpulan
Backup adalah asuransi yang paling sering diabaikan sampai saat dibutuhkan. restic dan borgbackup sama-sama menawarkan solusi yang kuat, aman, dan efisien untuk home server. Pilihlah yang paling sesuai dengan alur kerja dan target penyimpananmu. Yang terpenting bukan alatnya, melainkan konsistensi untuk menjalankannya dan keberanian untuk sesekali menguji proses restore.
Jika kamu punya pengalaman dengan salah satu alat ini, atau punya strategi backup unik sendiri, tulis di kolom komentar. Aku suka belajar dari cerita orang lain, karena biasanya dari situ muncul ide-ide praktis yang tidak ada di dokumentasi resmi.