Jawaban singkat
Bagaimana cara menyiapkan server cadangan Borg di VPS?
Untuk menyiapkan server cadangan Borg di VPS, pasang Borg 1.x di kedua ujung, buat user borg, dan paksakan borg serve --restrict-to-path --append-only pada setiap key klien. Inisialisasi setiap repositori dengan repokey; lakukan prune dan compact dari key admin terpisah. VPS 1 TB Coffervale berharga $1.66 per bulan untuk 12 bulan (2 November 2026).
Apa saja langkahnya, secara berurutan?
Pasang Borg 1.x yang sama di server dan klien
apt install borgbackupdi Debian atau Ubuntu, lalu bandingkanborg --versiondi kedua ujung.Buat user borg dan folder repositori
Satu akun tanpa hak istimewa di VPS memiliki semua repositori; klien tidak pernah mendapat shell.
Paksakan borg serve di authorized_keys
Satu baris per key klien, masing-masing dibatasi ke path-nya sendiri dengan
--restrict-to-pathdan--append-only.Inisialisasi repositori dengan repokey
Jalankan
borg init --encryption=repokeydari klien, lalu ekspor kunci dan simpan jauh dari kedua mesin.Jadwalkan borg create di klien
Harian dari cron atau timer systemd, dengan passphrase dibaca oleh
BORG_PASSCOMMAND.Prune dan compact dari key admin
Key kedua tanpa
--append-only, dipakai dari mesin tepercaya setelah memeriksa daftar arsip.Periksa repositori dan uji pemulihan
borg checksetiap minggu,--verify-datasetiap bulan, danborg extractsungguhan setiap beberapa bulan.
Versi Borg mana yang harus dijalankan di server?
Jalankan Borg 1.x di kedua sisi: 1.4.5 adalah rilis stabil terbaru pada 2 November 2026, dan Borg 2 masih beta. Halaman Borg 2.0 menyebutnya sebagai rilis breaking yang tidak kompatibel langsung dengan repositori Borg 1.x, dan mengganti nama borg init menjadi borg repo-create. Di Debian 13, paket yang dipasang adalah borgbackup (1.4.0 di trixie); paket borgbackup2 terpisah adalah beta 2.0. Pasang rilis yang sama di server dan di setiap klien.
apt install borgbackup
borg --version
useradd --create-home --home-dir /srv/borg --shell /bin/sh borg
install -d -m 700 -o borg -g borg /srv/borg/.ssh /srv/borg/repos
install -d -m 700 -o borg -g borg /srv/borg/repos/laptop /srv/borg/repos/web1Bagaimana cara mengunci setiap klien ke repositorinya sendiri?
Letakkan perintah borg serve paksa di depan setiap key di /srv/borg/.ssh/authorized_keys, sehingga key hanya bisa menjalankan Borg dan tidak yang lain. Kata kunci restrict memblokir port forwarding, agent forwarding, dan terminal, dan dokumentasi Borg mencatat bahwa ini juga mencakup fitur SSH yang ditambahkan di rilis mendatang. Contoh mengasumsikan shell POSIX sebagai login shell akun, itulah sebabnya user di atas memakai /bin/sh.
--restrict-to-path PATHmengizinkan path itu dan setiap folder di bawahnya, jadi satu klien bisa menyimpan beberapa repositori.--restrict-to-repository PATHlebih ketat: tepat satu repositori, tanpa sub-folder.--append-onlymemungkinkan key menambah arsip tetapi tidak menghapus data dari repositori.--storage-quota 500Gmembatasi berapa banyak yang bisa disimpan satu key, sehingga klien yang lepas kendali tidak bisa memenuhi disk.
Setiap baris tetap satu baris di file; key admin di akhir tidak punya --append-only dan hanya dipakai untuk pruning.
command="borg serve --restrict-to-path /srv/borg/repos/laptop --append-only",restrict ssh-ed25519 AAAA...laptop-key... laptop
command="borg serve --restrict-to-path /srv/borg/repos/web1 --append-only --storage-quota 500G",restrict ssh-ed25519 AAAA...web1-key... web1
command="borg serve --restrict-to-path /srv/borg/repos",restrict ssh-ed25519 AAAA...admin-key... adminchown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keysBagaimana cara membuat repositori dengan enkripsi repokey?
Jalankan borg init --encryption=repokey dari klien, lalu ekspor key dan simpan di luar VPS maupun mesin yang Anda backup. Dokumentasi Borg merekomendasikan repokey dengan passphrase kuat sebagai aturan praktis; repokey-blake2 adalah mode yang sama dengan hash BLAKE2b, kemungkinan lebih cepat pada prosesor tanpa akselerasi hardware SHA-256. Dengan repokey, key berada di file config repositori, disegel oleh passphrase Anda. Hilangkan passphrase dan backup tidak bisa dibaca, oleh Anda maupun orang lain. Borg juga menyatakan Anda harus menyimpan salinan key di luar lokasi, misalnya di kertas.
ssh-keygen -t ed25519 -N '' -C 'borg laptop' -f ~/.ssh/borg_ed25519
cat >> ~/.ssh/config <<'EOF'
Host coffer-borg
HostName 203.0.113.10
User borg
IdentityFile ~/.ssh/borg_ed25519
IdentitiesOnly yes
EOF
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/laptop/main
borg init --encryption=repokey
borg key export --paper "$BORG_REPO" ~/borg-laptop-key.txt#!/bin/sh
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main
# the passphrase file belongs to root, mode 600
export BORG_PASSCOMMAND='cat /root/.config/borg/passphrase'
borg create --stats --compression zstd,3 \
::'{hostname}-{now:%Y-%m-%dT%H:%M}' \
/etc /home /var/wwwBagaimana cara prune dan compact repositori append-only?
Dari mesin admin tepercaya, dengan key yang tidak punya --append-only, setelah memastikan tidak ada arsip yang hilang. Dalam mode append-only, catatan Borg menjelaskan, prune dan delete tetap berjalan tetapi hanya menandai data sebagai terhapus dalam transaksi baru, dan compaction tidak pernah terjadi, tanpa peringatan dan tanpa error. Ruang repositori tidak dibebaskan sampai borg compact dijalankan dari key yang diizinkan menulis ulang.
Catatan yang sama memuat jebakannya: penulisan pertama dalam mode normal membuat setiap penghapusan sebelumnya permanen, termasuk yang dilakukan penyerang melalui key klien. Jadi daftar arsipnya dulu. Jika ada yang hilang, berhenti dan ikuti langkah pemulihan di catatan append-only Borg sebelum Anda melakukan prune apa pun. Cron job yang melakukan prune otomatis dengan key tanpa batasan membuat append-only jadi tidak berguna. Dokumentasi Borg juga merekomendasikan --dry-run dengan --list sebelum setiap prune sungguhan.
export BORG_REPO=ssh://coffer-admin/srv/borg/repos/web1/main
borg list
borg prune -v --list --dry-run --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6
borg compactBagaimana cara memeriksa repositori dan membuktikan restore berhasil?
Jalankan borg check setiap minggu, borg check --verify-data setiap bulan, dan ekstrak file sungguhan ke mesin lain setiap beberapa bulan. Check biasa memverifikasi repositori dan metadata arsip. --verify-data membaca, mendekripsi, dan mendekompresi setiap chunk, yang menurut Borg sangat memakan waktu, dan pada hard disk memang begitu. Untuk repositori besar, --repository-only --max-duration 3600 membagi pemeriksaan repositori menjadi potongan satu jam yang melanjutkan dari tempat berhenti. Semua ini tidak menggantikan restore sungguhan: backup hanya sebaik terakhir kali Anda berhasil mengeluarkan data darinya.
export BORG_REPO=ssh://coffer-borg/srv/borg/repos/web1/main
borg check -v
borg check -v --verify-data
borg check -v --repository-only --max-duration 3600
mkdir -p /tmp/restore-test && cd /tmp/restore-test
borg list
borg extract --list ::web1-2026-11-02T03:00 etc/nginxBerapa biaya target Borg dibandingkan penyimpanan Borg terkelola?
Menurut survei Coffervale pada 2 November 2026, penyimpanan Borg terkelola berbiaya $9.17 per TB per bulan di BorgBase (paket Medium 1 TB, $110.00 per tahun) dan $15.00 per TB di rsync.net, sedangkan paket VPS penyimpanan dari host yang menerima kripto tanpa dokumen identitas memiliki median $4.00 per TB. Layanan terkelola menjalankan server untuk Anda; VPS penyimpanan memberi Anda root dan penyiapan di atas, pilihan yang ditimbang di Apakah VPS penyimpanan alternatif yang lebih murah dibanding rsync.net atau BorgBase?. Kami tidak membuat backup server Anda dan tidak menyimpan salinan data Anda di tempat lain mana pun, jadi yang ada di storage VPS Coffervale harus menjadi salah satu salinan Anda, jangan pernah satu-satunya, jadi server Borg adalah satu salinan di antara beberapa, seperti yang dijelaskan Bagaimana cara menggunakan VPS untuk backup off-site?. Paket 1 TB dirinci di Di mana saya bisa mendapatkan VPS dengan penyimpanan 1 TB?, dan jika Anda lebih suka restic, baca Restic: REST server atau SFTP untuk backup ke VPS?. Untuk mengenkripsi disk VPS juga, lihat Bagaimana cara mount dan format disk penyimpanan di VPS Linux?.
Target Borg per TB per bulan, 2 November 2026
| Target Borg | Per TB per bulan | Yang Anda jalankan sendiri | Dibayar dengan kripto |
|---|---|---|---|
| BorgBase Medium, 1 TB | $9.17 ($110.00 per tahun) | Tidak ada: repositori Borg dan restic terkelola | Tidak disebutkan |
| rsync.net, tier 0 hingga 9 TB | $15.00 | Tidak ada: penyimpanan ZFS diakses lewat SSH | Tidak disebutkan |
| VPS penyimpanan, median dari 99 paket | $4.00 | Server Borg yang disiapkan di halaman ini | Ya: host yang menerima kripto tanpa dokumen identitas |
| Coffervale Clay, 1 TB | $1.66 untuk 12 bulan | Server Borg yang disiapkan di halaman ini | BTC, USDT, USDC, ETH, SOL, LTC, XMR |
Harga diperiksa pada
Harga dibaca di halaman masing-masing layanan pada 2 November 2026. BorgBase menagih paket Medium per tahun dan menyatakan harga tidak termasuk PPN; median VPS penyimpanan mencakup paket 500 GB atau lebih, tersedia stok dan ditagih bulanan.
Pertanyaan tentang server backup Borg
Apakah klien dan server perlu versi Borg yang sama?
Jaga keduanya di Borg 1.x, idealnya rilis yang sama. Borg 2 masih beta, memakai format repositori baru dan tidak bisa membuka repositori 1.x secara langsung. Di Debian 13 pasang borgbackup, bukan borgbackup2.
Sebaiknya pakai --restrict-to-path atau --restrict-to-repository?
--restrict-to-path mengizinkan sebuah folder dan semua di bawahnya, berguna ketika satu klien menyimpan beberapa repositori. --restrict-to-repository mengizinkan tepat satu repositori dan tanpa sub-folder, pilihan yang lebih ketat ketika setiap klien punya satu.
Mengapa repositori saya tidak menyusut setelah borg prune?
Prune hanya menandai arsip sebagai terhapus; borg compact membebaskan ruangnya. Melalui key append-only, compaction tidak pernah berjalan sama sekali, jadi lakukan prune dan compact dari key admin.
Bisakah satu VPS penyimpanan menyimpan repositori Borg untuk beberapa mesin?
Ya. Beri setiap mesin baris key-nya sendiri di authorized_keys, path-nya sendiri, dan jika disk dibagi bersama, --storage-quota-nya sendiri. Dengan begitu, satu klien yang disusupi hanya menjangkau satu repositori.
Apa yang terjadi jika saya kehilangan passphrase Borg?
Repositori menjadi tidak bisa dibaca selamanya. Borg tidak dapat memulihkannya dan host juga tidak. Simpan passphrase di pengelola kata sandi dan key yang diekspor di kertas, jauh dari VPS dan klien.
Sumber (13)
- Dokumentasi Borg 1.4.5: Hosting repositori — BorgBackup project (read 2026-11-02)
- Dokumentasi Borg 1.4.5: borg serve (opsi restrict, append-only, kuota penyimpanan) — BorgBackup project (read 2026-11-02)
- Dokumentasi Borg 1.4.5: borg init (mode enkripsi, backup key) — BorgBackup project (read 2026-11-02)
- Dokumentasi Borg 1.4.5: borg prune — BorgBackup project (read 2026-11-02)
- Dokumentasi Borg 1.4.5: borg compact — BorgBackup project (read 2026-11-02)
- Dokumentasi Borg 1.4.5: borg check — BorgBackup project (read 2026-11-02)
- Dokumentasi Borg 1.4.5: Additional notes, mode append-only — BorgBackup project (read 2026-11-02)
- Dokumentasi Borg 1.4.5: Quick start (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
- Borg 2.0 (informasi awal) — BorgBackup project (read 2026-11-02)
- Rilis BorgBackup (1.4.5 terbaru, 2.0.0b25 pra-rilis) — BorgBackup project on GitHub (read 2026-11-02)
- Paket Debian trixie: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
- Paket dan harga borgbase.com — BorgBase (read 2026-11-02)
- Harga cloud storage rsync.net/pricing.html — rsync.net (read 2026-11-02)