संक्षिप्त उत्तर
मैं VPS पर Borg backup server कैसे सेट अप करूँ?
VPS पर Borg backup server सेट अप करने के लिए, दोनों सिरों पर Borg 1.x इंस्टॉल करें, एक borg user बनाएँ, और हर client key पर borg serve --restrict-to-path --append-only फ़ोर्स करें। हर repository को repokey के साथ इनिशियलाइज़ करें; prune और compact एक अलग admin key से करें। एक Coffervale 1 TB VPS 12 महीनों पर $1.66 प्रति माह का पड़ता है (2 November 2026)।
चरण क्या हैं, क्रम से?
सर्वर और क्लाइंट्स पर वही Borg 1.x इंस्टॉल करें
Debian या Ubuntu पर
apt install borgbackup, फिर दोनों सिरों परborg --versionकी तुलना करें।एक borg user और एक repository फ़ोल्डर बनाएँ
VPS पर एक unprivileged अकाउंट हर repository का मालिक है; क्लाइंट्स को कभी shell नहीं मिलता।
authorized_keys में borg serve फ़ोर्स करें
प्रति client key एक लाइन, हर एक
--restrict-to-pathऔर--append-onlyके साथ अपने ही path तक सीमित।repokey के साथ repository इनिशियलाइज़ करें
क्लाइंट से
borg init --encryption=repokeyचलाएँ, फिर key एक्सपोर्ट करें और दोनों मशीनों से दूर संग्रहीत करें।क्लाइंट पर borg create शेड्यूल करें
cron या systemd timer से रोज़ाना, passphrase
BORG_PASSCOMMANDद्वारा पढ़ा जाता है।admin key से prune और compact करें
--append-onlyके बिना एक दूसरी key, archive सूची जाँचने के बाद एक भरोसेमंद मशीन से इस्तेमाल होती है।repository जाँचें और restore का परीक्षण करें
साप्ताहिक
borg check, मासिक--verify-data, और हर कुछ महीनों में एक असलीborg extract।
सर्वर पर Borg का कौन सा वर्ज़न चलाना चाहिए?
दोनों सिरों पर Borg 1.x चलाएँ: 1.4.5 2 November 2026 को नवीनतम stable रिलीज़ था, और Borg 2 अभी भी beta में है। Borg 2.0 पेज इसे breaking रिलीज़ बताता है जो Borg 1.x repositories के साथ सीधे compatible नहीं है, और borg init का नाम बदलकर borg repo-create कर देता है। Debian 13 पर इंस्टॉल करने वाला पैकेज borgbackup है (trixie में 1.4.0); अलग borgbackup2 पैकेज 2.0 beta है। सर्वर पर और हर client पर वही रिलीज़ इंस्टॉल करें।
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/web1मैं हर client को उसके अपने repository तक कैसे सीमित करूँ?
/srv/borg/.ssh/authorized_keys में हर key के आगे एक forced borg serve command लगाएँ, ताकि वह key सिर्फ़ Borg चला सके और कुछ नहीं। restrict keyword port forwarding, agent forwarding और terminals को ब्लॉक करता है, और Borg का डॉक्युमेंटेशन बताता है कि यह भविष्य की रिलीज़ों में जुड़ने वाले SSH features को भी कवर करता है। उदाहरण मानते हैं कि account का login shell एक POSIX shell है, इसीलिए ऊपर वाले user को /bin/sh मिलता है।
--restrict-to-path PATHउस path और उसके नीचे के हर फ़ोल्डर की अनुमति देता है, इसलिए एक client कई repositories रख सकता है।--restrict-to-repository PATHज़्यादा सख़्त है: ठीक एक repository, कोई sub-folder नहीं।--append-onlykey को archives जोड़ने देता है, पर repository से डेटा हटाने नहीं देता।--storage-quota 500Gएक key कितना स्टोर कर सकती है इसकी सीमा तय करता है, ताकि कोई बेकाबू client disk भर न दे।
हर लाइन फ़ाइल में एक ही लाइन पर रहती है; अंत में admin key के पास --append-only नहीं होता और वह केवल 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_keysमैं repokey encryption के साथ repository कैसे बनाऊँ?
borg init --encryption=repokey client से चलाएँ, फिर key export करें और उसे VPS और जिस मशीन का backup ले रहे हैं, दोनों से बाहर रखें। Borg का डॉक्युमेंटेशन नियम के तौर पर मज़बूत passphrase के साथ repokey की सलाह देता है; repokey-blake2 वही mode है BLAKE2b hash के साथ, जो उन processors पर संभवतः तेज़ है जिनमें hardware-accelerated SHA-256 नहीं है। repokey के साथ, key repository की config फ़ाइल में रहती है, आपके passphrase से sealed। passphrase खो गया तो backups अपठनीय हैं, आपके लिए भी और बाकी सबके लिए भी। Borg यह भी कहता है कि key की off-site copy रखनी चाहिए, मसलन काग़ज़ पर।
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/wwwमैं append-only repository को prune और compact कैसे करूँ?
एक भरोसेमंद admin मशीन से, उस key के साथ जिसके पास --append-only नहीं है, यह जाँचने के बाद कि कोई archive गुम नहीं हुआ। append-only mode में, Borg के नोट्स समझाते हैं, prune और delete फिर भी चलते हैं पर डेटा को एक नए transaction में केवल deleted के रूप में tag करते हैं, और compaction कभी नहीं होता, न कोई चेतावनी और न कोई error। repository की जगह तब तक नहीं खाली होती जब तक किसी rewrite की अनुमति वाली key से borg compact न चले।
इन्हीं नोट्स में पेच भी है: normal mode में पहला write हर पिछले deletion को पक्का कर देता है, उस deletion को भी जो किसी हमलावर ने client key से किया हो। इसलिए पहले archives की सूची देखें। अगर कुछ गुम हैं, तो रुकें और prune करने से पहले Borg के append-only नोट्स में दिए recovery steps का पालन करें। एक cron job जो बिना सीमा वाली key से अपने आप prune करता है, append-only को बेमतलब बना देता है। Borg का डॉक्युमेंटेशन हर असली prune से पहले --list के साथ --dry-run की भी सलाह देता है।
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 compactमैं repository कैसे जाँचूँ और साबित करूँ कि restore काम करता है?
borg check हर हफ़्ते चलाएँ, borg check --verify-data हर महीने, और हर कुछ महीनों में असली फ़ाइलें किसी दूसरी मशीन पर extract करें। एक सादा check repository और archive metadata की पुष्टि करता है। --verify-data हर chunk को पढ़ता, decrypt और decompress करता है, जिसे Borg बहुत समय लेने वाला कहता है, और hard disks पर ऐसा ही होता है। बड़े repository के लिए, --repository-only --max-duration 3600 repository check को एक-एक घंटे के हिस्सों में बाँटता है जो वहीं से आगे बढ़ते हैं जहाँ रुके थे। इनमें से कोई भी असली restore की जगह नहीं लेता: backup उतना ही अच्छा है जितनी आख़िरी बार आपने उससे डेटा निकाला हो।
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/nginxhosted Borg storage की तुलना में Borg target का ख़र्च कितना है?
Coffervale के 2 November 2026 के survey के अनुसार, hosted Borg storage की कीमत BorgBase पर $9.17 प्रति TB प्रति माह थी (1 TB Medium plan, $110.00 सालाना) और rsync.net पर $15.00 प्रति TB, जबकि उन hosts के storage VPS plans जो बिना ID document के crypto लेते हैं, का median $4.00 प्रति TB था। Hosted सेवाएँ सर्वर आपके लिए चलाती हैं; storage VPS आपको root और ऊपर वाला setup देता है, यह चुनाव Is a storage VPS a cheaper alternative to rsync.net or BorgBase? में तौला गया है। हम आपके सर्वर का कोई बैकअप नहीं लेते और आपके डेटा की कोई प्रति कहीं और नहीं रखते, इसलिए Coffervale storage VPS पर जो है वह आपकी कॉपियों में से एक होना चाहिए, कभी अकेली नहीं, इसलिए Borg सर्वर कई copies में से एक है, जैसा How do I use a VPS for off-site backups? समझाता है। 1 TB plan का ब्यौरा Where can I get a VPS with 1 TB of storage? में है, और अगर आप restic पसंद करते हैं, तो Restic: REST server or SFTP for backups to a VPS? पढ़ें। VPS की disk भी encrypt करनी हो तो How do I mount and format the storage disk on a Linux VPS? देखें।
Borg targets प्रति TB प्रति माह, 2 November 2026
| Borg target | प्रति TB प्रति माह | जो आप ख़ुद चलाते हैं | crypto में भुगतान |
|---|---|---|---|
| BorgBase Medium, 1 TB | $9.17 ($110.00 प्रति वर्ष) | कुछ नहीं: hosted Borg और restic repositories | नहीं बताया गया |
| rsync.net, 0 से 9 TB tier | $15.00 | कुछ नहीं: SSH के ज़रिए पहुँचा जाने वाला ZFS storage | नहीं बताया गया |
| Storage VPS, 99 plans का median | $4.00 | इस पेज पर सेट किया गया Borg सर्वर | हाँ: वे hosts जो बिना ID document के crypto लेते हैं |
| Coffervale Clay, 1 TB | 12 महीनों पर $1.66 | इस पेज पर सेट किया गया Borg सर्वर | BTC, USDT, USDC, ETH, SOL, LTC, XMR |
कीमतें को जाँची गईं
कीमतें 2 November 2026 को हर सेवा के अपने पेज पर पढ़ी गई हैं। BorgBase Medium plan का बिल सालाना करता है और कीमतें VAT के बिना बताता है; storage VPS का median 500 GB या उससे ज़्यादा के plans को कवर करता है, जो stock में हैं और महीने के हिसाब से billed हैं।
Borg backup सर्वर के बारे में सवाल
क्या client और सर्वर को एक ही Borg वर्ज़न चाहिए?
दोनों को Borg 1.x पर रखें, आदर्श रूप से एक ही रिलीज़ पर। Borg 2 अभी भी beta में है, नया repository format इस्तेमाल करता है और 1.x repositories सीधे नहीं खोल सकता। Debian 13 पर borgbackup2 नहीं, borgbackup इंस्टॉल करें।
मुझे --restrict-to-path या --restrict-to-repository इस्तेमाल करना चाहिए?
--restrict-to-path एक फ़ोल्डर और उसके नीचे सब कुछ अनुमत करता है, जो तब काम आता है जब एक client कई repositories रखता हो। --restrict-to-repository ठीक एक repository और कोई sub-folder नहीं, अनुमत करता है, जो ज़्यादा सख़्त विकल्प है जब हर client के पास एक ही हो।
borg prune के बाद मेरा repository छोटा क्यों नहीं होता?
Prune केवल archives को deleted के रूप में चिह्नित करता है; borg compact जगह खाली करता है। append-only key के ज़रिए, compaction कभी चलता ही नहीं, इसलिए prune और compact admin key से करें।
क्या एक storage VPS कई मशीनों के लिए Borg repositories रख सकता है?
हाँ। हर मशीन को authorized_keys में अपनी अलग key line दें, अपना अलग path दें और अगर disk साझा है तो अपना अलग --storage-quota दें। तब किसी एक client के compromise होने पर केवल एक ही repository तक पहुँच होगी।
अगर मैं Borg passphrase खो देता हूँ तो क्या होगा?
Repository हमेशा के लिए unreadable हो जाती है। Borg उसे recover नहीं कर सकता और host भी नहीं। Passphrase को password manager में रखें और exported key को कागज़ पर, VPS और client से दूर रखें।
स्रोत (13)
- Borg 1.4.5 documentation: Hosting repositories — BorgBackup project (read 2026-11-02)
- Borg 1.4.5 documentation: borg serve (restrict options, append-only, storage quota) — BorgBackup project (read 2026-11-02)
- Borg 1.4.5 documentation: borg init (encryption modes, key backup) — BorgBackup project (read 2026-11-02)
- Borg 1.4.5 documentation: borg prune — BorgBackup project (read 2026-11-02)
- Borg 1.4.5 documentation: borg compact — BorgBackup project (read 2026-11-02)
- Borg 1.4.5 documentation: borg check — BorgBackup project (read 2026-11-02)
- Borg 1.4.5 दस्तावेज़: Additional notes, append-only mode — BorgBackup project (read 2026-11-02)
- Borg 1.4.5 documentation: Quick start (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
- Borg 2.0 (प्रारंभिक जानकारी) — BorgBackup project (read 2026-11-02)
- BorgBackup releases (1.4.5 latest, 2.0.0b25 pre-release) — BorgBackup project on GitHub (read 2026-11-02)
- Debian trixie packages: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
- Plans और pricing borgbase.com — BorgBase (read 2026-11-02)
- Cloud storage pricing rsync.net/pricing.html — rsync.net (read 2026-11-02)