Krótka odpowiedź
Jak skonfigurować serwer kopii zapasowych Borg na VPS?
Aby skonfigurować serwer kopii zapasowych Borg na VPS, zainstaluj Borg 1.x po obu stronach, utwórz użytkownika borg i wymuś borg serve --restrict-to-path --append-only na każdym kluczu klienta. Zainicjuj każde repozytorium za pomocą repokey; wykonuj prune i compact z osobnego klucza administratora. Coffervale VPS 1 TB kosztuje $1.66 miesięcznie przy 12 miesiącach (2 November 2026).
Jakie są kroki, po kolei?
Zainstaluj ten sam Borg 1.x na serwerze i klientach
apt install borgbackupna Debian lub Ubuntu, następnie porównajborg --versionpo obu stronach.Utwórz użytkownika borg i folder repozytorium
Jedno konto bez uprawnień na VPS jest właścicielem wszystkich repozytoriów; klienci nigdy nie dostają shella.
Wymuś borg serve w authorized_keys
Jedna linia na klucz klienta, każda ograniczona do własnej ścieżki przez
--restrict-to-pathi--append-only.Zainicjuj repozytorium za pomocą repokey
Uruchom
borg init --encryption=repokeyz klienta, następnie wyeksportuj klucz i przechowuj go z dala od obu maszyn.Zaplanuj borg create na kliencie
Codziennie z cron lub timera systemd, z hasłem odczytywanym przez
BORG_PASSCOMMAND.Wykonuj prune i compact z klucza administratora
Drugi klucz bez
--append-only, używany z zaufanej maszyny po sprawdzeniu listy archiwów.Sprawdź repozytorium i przetestuj przywracanie
borg checkco tydzień,--verify-dataco miesiąc i prawdziweborg extractco kilka miesięcy.
Jaką wersję Borg powinien uruchamiać serwer?
Uruchom Borg 1.x na obu stronach: 1.4.5 było najnowszym stabilnym wydaniem 2 listopada 2026, a Borg 2 jest wciąż w wersji beta. Strona Borg 2.0 nazywa go wydaniem łamiącym zgodność, które nie jest bezpośrednio kompatybilne z repozytoriami Borg 1.x, i zmienia nazwę borg init na borg repo-create. W Debianie 13 pakiet do zainstalowania to borgbackup (1.4.0 w trixie); osobny pakiet borgbackup2 to beta 2.0. Zainstaluj to samo wydanie na serwerze i na każdym kliencie.
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/web1Jak przypisać każdego klienta do jego własnego repozytorium?
Umieść wymuszone polecenie borg serve przed każdym kluczem w /srv/borg/.ssh/authorized_keys, aby klucz mógł uruchamiać Borg i nic więcej. Słowo kluczowe restrict blokuje przekierowanie portów, przekierowanie agenta i terminale, a dokumentacja Borg zauważa, że obejmuje ono również funkcje SSH dodane w przyszłych wydaniach. Przykłady zakładają powłokę POSIX jako powłokę logowania konta, dlatego powyższy użytkownik otrzymuje /bin/sh.
--restrict-to-path PATHzezwala na tę ścieżkę i każdy folder pod nią, więc jeden klient może przechowywać kilka repozytoriów.--restrict-to-repository PATHjest bardziej restrykcyjne: dokładnie jedno repozytorium, bez podfolderów.--append-onlypozwala kluczowi dodawać archiwa, ale nie usuwać danych z repozytorium.--storage-quota 500Gogranicza to, ile jeden klucz może przechowywać, więc wymykający się spod kontroli klient nie może zapełnić dysku.
Każda linia pozostaje w jednej linii w pliku; klucz administratora na końcu nie ma --append-only i jest używany tylko do usuwania starych danych.
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_keysJak utworzyć repozytorium z szyfrowaniem repokey?
Uruchom borg init --encryption=repokey z klienta, następnie wyeksportuj klucz i przechowuj go poza zarówno VPS, jak i maszyną, którą tworzysz kopię zapasową. Dokumentacja Borg zaleca jako zasadę ogólną repokey z silnym hasłem; repokey-blake2 to ten sam tryb z hashem BLAKE2b, prawdopodobnie szybszy na procesorach bez sprzętowo przyspieszonego SHA-256. W przypadku repokey klucz znajduje się w pliku config repozytorium, zabezpieczony Twoim hasłem. Jeśli zgubisz hasło, kopie zapasowe staną się nieczytelne, zarówno dla Ciebie, jak i dla wszystkich innych. Borg mówi również, że musisz przechowywać kopię klucza poza siedzibą, na przykład na papierze.
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/wwwJak usunąć stare dane i skompaktować repozytorium tylko do dopisywania?
Z zaufanej maszyny administratora, kluczem, który nie ma --append-only, po sprawdzeniu, że żadne archiwum nie zaginęło. W trybie tylko do dopisywania, jak wyjaśniają notatki Borg, prune i delete nadal działają, ale jedynie oznaczają dane jako usunięte w nowej transakcji, a kompakcja nigdy nie następuje, bez ostrzeżenia i bez błędu. Miejsce w repozytorium nie jest zwalniane, dopóki borg compact nie zostanie uruchomione z klucza, który może przepisywać dane.
Te same notatki zawierają haczyk: pierwszy zapis w trybie normalnym czyni każde wcześniejsze usunięcie trwałym, w tym takie, które atakujący wykonał przez klucz klienta. Więc najpierw wypisz archiwa. Jeśli niektórych brakuje, zatrzymaj się i postępuj zgodnie z krokami odzyskiwania w notatkach Borg o trybie tylko do dopisywania, zanim cokolwiek usuniesz. Zadanie cron, które automatycznie usuwa stare dane z nieograniczonym kluczem, czyni tryb tylko do dopisywania bezcelowym. Dokumentacja Borg zaleca również --dry-run z --list przed każdym rzeczywistym usunięciem.
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 compactJak sprawdzić repozytorium i udowodnić, że przywracanie działa?
Uruchamiaj borg check co tydzień, borg check --verify-data co miesiąc i co kilka miesięcy wyodrębniaj rzeczywiste pliki na inną maszynę. Zwykłe sprawdzenie weryfikuje repozytorium i metadane archiwum. --verify-data odczytuje, odszyfrowuje i dekompresuje każdy fragment, co Borg nazywa bardzo czasochłonnym, i na dyskach twardych tak jest. W przypadku dużego repozytorium --repository-only --max-duration 3600 dzieli sprawdzenie repozytorium na jednogodzinne fragmenty, które wznawiają się od miejsca przerwania. Żadne z nich nie zastępuje rzeczywistego przywracania: kopia zapasowa jest tyle warta, ile ostatnie udane wyciągnięcie z niej danych.
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/nginxIle kosztuje cel Borg w porównaniu z hostowanym miejscem na Borg?
Według ankiety Coffervale z 2 listopada 2026 hostowane miejsce na Borg kosztowało $9.17 za TB miesięcznie w BorgBase (plan Medium 1 TB, $110.00 rocznie) i $15.00 za TB w rsync.net, podczas gdy plany Storage VPS u hostingodawców przyjmujących kryptowaluty bez dokumentu tożsamości miały medianę $4.00 za TB. Usługi hostowane uruchamiają serwer za Ciebie; Storage VPS daje Ci root i powyższą konfigurację, wybór rozważany w Czy Storage VPS to tańsza alternatywa dla rsync.net lub BorgBase?. Nie wykonujemy kopii zapasowej Twojego serwera ani nie przechowujemy kopii Twoich danych nigdzie indziej, więc to, co znajduje się na storage VPS Coffervale, powinno być jedną z Twoich kopii, nigdy jedyną, więc serwer Borg jest jedną kopią spośród kilku, jak wyjaśnia Jak używać VPS do kopii zapasowych poza siedzibą?. Plan 1 TB opisano w Gdzie mogę dostać VPS z 1 TB miejsca?, a jeśli wolisz restic, przeczytaj Restic: serwer REST czy SFTP do kopii zapasowych na VPS?. Aby zaszyfrować również dysk VPS, zobacz Jak zamontować i sformatować dysk do przechowywania danych na Linux VPS?.
Cele Borg za TB miesięcznie, 2 listopada 2026
| Cel Borg | Za TB miesięcznie | Co uruchamiasz samodzielnie | Płatność kryptowalutą |
|---|---|---|---|
| BorgBase Medium, 1 TB | $9.17 ($110.00 rocznie) | Nic: hostowane repozytoria Borg i restic | Nie podano |
| rsync.net, przedział 0 do 9 TB | $15.00 | Nic: pamięć ZFS osiągana przez SSH | Nie podano |
| Storage VPS, mediana z 99 planów | $4.00 | Serwer Borg skonfigurowany na tej stronie | Tak: hostingodawcy przyjmujący kryptowaluty bez dokumentu tożsamości |
| Coffervale Clay, 1 TB | $1.66 przy 12 miesiącach | Serwer Borg skonfigurowany na tej stronie | BTC, USDT, USDC, ETH, SOL, LTC, XMR |
Ceny sprawdzone dnia
Ceny odczytane na własnej stronie każdej usługi 2 listopada 2026. BorgBase rozlicza plan Medium rocznie i podaje ceny bez VAT; mediana Storage VPS obejmuje plany o pojemności 500 GB lub większej, dostępne w magazynie i rozliczane miesięcznie.
Pytania o serwer kopii zapasowych Borg
Czy klient i serwer potrzebują tej samej wersji Borg?
Trzymaj oba na Borg 1.x, najlepiej to samo wydanie. Borg 2 jest wciąż w wersji beta, używa nowego formatu repozytorium i nie może bezpośrednio otwierać repozytoriów 1.x. W Debianie 13 zainstaluj borgbackup, a nie borgbackup2.
Czy powinienem używać --restrict-to-path czy --restrict-to-repository?
--restrict-to-path zezwala na folder i wszystko pod nim, przydatne, gdy jeden klient przechowuje kilka repozytoriów. --restrict-to-repository zezwala na dokładnie jedno repozytorium i żadnych podfolderów, to bardziej restrykcyjny wybór, gdy każdy klient ma jedno.
Dlaczego moje repozytorium nie zmniejsza się po borg prune?
Prune jedynie oznacza archiwa jako usunięte; borg compact zwalnia miejsce. Przez klucz tylko do dopisywania kompakcja nigdy nie działa, więc usuwaj i kompaktuj z klucza administratora.
Czy jeden Storage VPS może przechowywać repozytoria Borg dla kilku maszyn?
Tak. Nadaj każdej maszynie własny wiersz klucza w authorized_keys, własną ścieżkę, a jeśli dysk jest współdzielony, również własny --storage-quota. Wtedy jeden przejęty klient sięga tylko do jednego repozytorium.
Co się stanie, jeśli zgubię passphrase do Borg?
Repozytorium stanie się trwale nieczytelne. Borg nie może go odzyskać, a host również nie. Trzymaj passphrase w menedżerze haseł, a wyeksportowany klucz na papierze, z dala od VPS i klienta.
Źródła (13)
- Dokumentacja Borg 1.4.5: Hosting repositories — BorgBackup project (read 2026-11-02)
- Dokumentacja Borg 1.4.5: borg serve (opcje restrict, append-only, limit miejsca) — BorgBackup project (read 2026-11-02)
- Dokumentacja Borg 1.4.5: borg init (tryby szyfrowania, kopia zapasowa klucza) — BorgBackup project (read 2026-11-02)
- Dokumentacja Borg 1.4.5: borg prune — BorgBackup project (read 2026-11-02)
- Dokumentacja Borg 1.4.5: borg compact — BorgBackup project (read 2026-11-02)
- Dokumentacja Borg 1.4.5: borg check — BorgBackup project (read 2026-11-02)
- Dokumentacja Borg 1.4.5: Additional notes, append-only mode — BorgBackup project (read 2026-11-02)
- Dokumentacja Borg 1.4.5: Quick start (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
- Borg 2.0 (informacje wstępne) — BorgBackup project (read 2026-11-02)
- Wydania BorgBackup (1.4.5 najnowsze, 2.0.0b25 pre-release) — BorgBackup project on GitHub (read 2026-11-02)
- Pakiety Debian trixie: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
- Plany i cennik borgbase.com — BorgBase (read 2026-11-02)
- Cennik przechowywania w chmurze rsync.net/pricing.html — rsync.net (read 2026-11-02)