Bez dokumentu przy rejestracji · Storage VPS od 500 GB do 8 TB · Płatność w BTC, USDT, USDC, ETH, SOL, LTC, XMR
Język: Polski
Wybierz storage

Serwer kopii zapasowych Borg · krok po kroku

Jak skonfigurować serwer kopii zapasowych Borg na VPS do przechowywania danych?

Serwer Borg to nic więcej niż konto SSH, które może uruchomić jedno polecenie. Ogranicz to polecenie dla każdego klucza, utrzymuj klientów w trybie append-only i wykonuj prune z miejsca, do którego atakujący nie dotrze.

Ostatnia aktualizacja: · 8 min czytania

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?

  1. Zainstaluj ten sam Borg 1.x na serwerze i klientach

    apt install borgbackup na Debian lub Ubuntu, następnie porównaj borg --version po obu stronach.

  2. 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.

  3. Wymuś borg serve w authorized_keys

    Jedna linia na klucz klienta, każda ograniczona do własnej ścieżki przez --restrict-to-path i --append-only.

  4. Zainicjuj repozytorium za pomocą repokey

    Uruchom borg init --encryption=repokey z klienta, następnie wyeksportuj klucz i przechowuj go z dala od obu maszyn.

  5. Zaplanuj borg create na kliencie

    Codziennie z cron lub timera systemd, z hasłem odczytywanym przez BORG_PASSCOMMAND.

  6. Wykonuj prune i compact z klucza administratora

    Drugi klucz bez --append-only, używany z zaufanej maszyny po sprawdzeniu listy archiwów.

  7. Sprawdź repozytorium i przetestuj przywracanie

    borg check co tydzień, --verify-data co miesiąc i prawdziwe borg extract co 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.

Na VPS do przechowywania danych, jako root: Borg, użytkownik borg, folder dla każdego klienta
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

Jak 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 PATH zezwala na tę ścieżkę i każdy folder pod nią, więc jeden klient może przechowywać kilka repozytoriów.
  • --restrict-to-repository PATH jest bardziej restrykcyjne: dokładnie jedno repozytorium, bez podfolderów.
  • --append-only pozwala kluczowi dodawać archiwa, ale nie usuwać danych z repozytorium.
  • --storage-quota 500G ogranicza 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.

/srv/borg/.ssh/authorized_keys (owner borg, mode 600)
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... admin
Popraw własność po edycji, jako root
chown borg:borg /srv/borg/.ssh/authorized_keys
chmod 600 /srv/borg/.ssh/authorized_keys

Jak 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.

Na kliencie (tutaj: laptop)
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
/usr/local/sbin/borg-backup on a server client, run daily as root
#!/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

Jak 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.

Na maszynie administratora, Host coffer-admin przy użyciu klucza administratora
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

Jak 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.

Sprawdzenia i testowe przywracanie, z klienta
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/nginx

Ile 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 BorgZa TB miesięcznieCo uruchamiasz samodzielniePłatność kryptowalutą
BorgBase Medium, 1 TB$9.17 ($110.00 rocznie)Nic: hostowane repozytoria Borg i resticNie podano
rsync.net, przedział 0 do 9 TB$15.00Nic: pamięć ZFS osiągana przez SSHNie podano
Storage VPS, mediana z 99 planów$4.00Serwer Borg skonfigurowany na tej stronieTak: hostingodawcy przyjmujący kryptowaluty bez dokumentu tożsamości
Coffervale Clay, 1 TB$1.66 przy 12 miesiącachSerwer Borg skonfigurowany na tej stronieBTC, 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)
  1. Dokumentacja Borg 1.4.5: Hosting repositories — BorgBackup project (read 2026-11-02)
  2. Dokumentacja Borg 1.4.5: borg serve (opcje restrict, append-only, limit miejsca) — BorgBackup project (read 2026-11-02)
  3. Dokumentacja Borg 1.4.5: borg init (tryby szyfrowania, kopia zapasowa klucza) — BorgBackup project (read 2026-11-02)
  4. Dokumentacja Borg 1.4.5: borg prune — BorgBackup project (read 2026-11-02)
  5. Dokumentacja Borg 1.4.5: borg compact — BorgBackup project (read 2026-11-02)
  6. Dokumentacja Borg 1.4.5: borg check — BorgBackup project (read 2026-11-02)
  7. Dokumentacja Borg 1.4.5: Additional notes, append-only mode — BorgBackup project (read 2026-11-02)
  8. Dokumentacja Borg 1.4.5: Quick start (BORG_PASSCOMMAND) — BorgBackup project (read 2026-11-02)
  9. Borg 2.0 (informacje wstępne) — BorgBackup project (read 2026-11-02)
  10. Wydania BorgBackup (1.4.5 najnowsze, 2.0.0b25 pre-release) — BorgBackup project on GitHub (read 2026-11-02)
  11. Pakiety Debian trixie: borgbackup 1.4.0, borgbackup2 2.0.0b19 — Debian (read 2026-11-02)
  12. Plany i cennik borgbase.com — BorgBase (read 2026-11-02)
  13. Cennik przechowywania w chmurze rsync.net/pricing.html — rsync.net (read 2026-11-02)

Od $1.24/miesiąc · bez KYC

Wybierz storage