Backup bez bólu głowy: jak w jeden wieczór zabezpieczyć swój domowy serwer i dane
- 2026-03-21
Bez względu na to, czy trzymasz zdjęcia rodzinne, filmy z wakacji, repozytoria projektów, czy kontenery usług domowych, utrata danych boli. Dobra wiadomość jest taka, że da się temu zapobiec w jedno popołudnie. Ten przewodnik pokazuje, jak w praktyce w jeden wieczór zbudować solidne, niedrogie i zautomatyzowane kopie zapasowe dla domowego serwera, z naciskiem na prostotę, bezpieczeństwo i możliwość szybkiego odtworzenia. Znajdziesz tu przepis na krok po kroku, sprawdzone narzędzia, przykładowe polecenia i konfiguracje. To nie tylko teoria, ale gotowy plan działania.
Plan na jeden wieczór: od zera do bezpiecznego backupu
0–15 minut: inwentaryzacja i priorytety
Zacznij od krótkiego spisu tego, co naprawdę musisz chronić. Dzięki temu unikniesz chaosu i skupisz się na tym, co najcenniejsze.
- Najwyższy priorytet: zdjęcia, dokumenty, klucze, hasła, bazy danych usług domowych, katalogi konfiguracyjne.
- Średni priorytet: multimedia, które da się ponownie pobrać, cache, dane tymczasowe usług.
- Niski priorytet: obrazy kontenerów, budowane artefakty, dane testowe.
Oznacz katalogi źródłowe, np. home, srv, etc, var/lib, oraz specjalne katalogi usług jak Nextcloud, PhotoPrism, Jellyfin, Home Assistant. Zanotuj rozmiar danych poleceniem:
du -sh /home /srv /etc /var/lib | sort -h
15–45 minut: strategia 3-2-1 i polityka retencji
Nawet prosty system musi mieć sensowną strukturę. Kluczem jest zasada 3-2-1: co najmniej trzy kopie, na dwóch różnych typach nośników, jedna poza domem.
- 3 kopie: dane produkcyjne plus co najmniej dwie kopie zapasowe.
- 2 różne nośniki: np. dysk USB i serwer NAS, lub NAS i chmura S3.
- 1 kopia poza domem: chmura lub dysk rotacyjny przechowywany u kogoś zaufanego.
Doprecyzuj retencję i wersjonowanie:
- Codzienne kopie z ostatnich 7–14 dni.
- Tygodniowe kopie z ostatnich 4–8 tygodni.
- Miesięczne kopie z ostatnich 6–12 miesięcy.
Jeśli dopiero uczysz się, jak tworzyć kopie zapasowe na domowy serwer, trzymaj politykę prostą: 7 dziennych, 4 tygodniowe i 6 miesięcznych wersji. To wyważony kompromis między kosztem a bezpieczeństwem.
45–90 minut: lokalny backup na dysk USB lub NAS
Na start najlepiej wybrać łatwy i szybki magazyn lokalny. To da Ci pierwszą warstwę ochrony już dziś.
- Dysk USB: najtańsza i najszybsza droga do pierwszej kopii. Wygodne zwłaszcza do migawkowych backupów całych katalogów.
- Serwer NAS: np. Synology, QNAP, TrueNAS, lub po prostu drugi komputer z Sambą lub NFS. Daje przestrzeń współdzieloną i pracę w tle.
W praktyce świetnie sprawdza się duet: narzędzie z deduplikacją plus magazyn lokalny. Przykłady:
- Restic: szybki, deduplikacja, szyfrowanie domyślnie, wiele backendów.
- BorgBackup: deduplikacja blokowa, kompresja, niezawodność.
- Rsync: proste lustrzane kopie, dobre jako warstwa zero.
Przykładowa konfiguracja lokalnego repozytorium Restic na dysk USB zamontowany pod media/usbbackup:
export RESTIC_PASSWORD='twoje_haslo'
restic -r /media/usbbackup init
restic -r /media/usbbackup backup /home /etc /srv --exclude-caches --exclude node_modules --exclude '*.tmp'
Alternatywnie Borg na tym samym dysku:
export BORG_PASSPHRASE='twoje_haslo'
borg init --encryption=repokey-blake2 /media/usbbackup/borgrepo
borg create --stats --progress /media/usbbackup/borgrepo::pierwszy-archiwum-{{now}} /home /etc /srv --exclude '*/node_modules' --exclude '*.tmp'
Jeśli wolisz prostotę, rsync na NAS:
rsync -aHAX --delete --info=stats1 --exclude='*.tmp' --exclude='*/node_modules' /home /etc /srv user@nas:/volume1/backup-serwera
90–120 minut: kopia poza domem w chmurze
Druga warstwa to kopia offsite. Najwygodniej skorzystać z chmury kompatybilnej z S3, np. Backblaze B2, Wasabi, AWS S3. Restic i rclone doskonale współpracują z tymi usługami.
Restic z backendem B2:
export B2_ACCOUNT_ID=twoje_id
export B2_ACCOUNT_KEY=twoj_klucz
export RESTIC_PASSWORD='twoje_haslo'
restic -r b2:twoj-bucket:/domowy-serwer init
restic -r b2:twoj-bucket:/domowy-serwer backup /home /etc /srv --exclude-caches
Restic oferuje prostą retencję:
restic -r b2:twoj-bucket:/domowy-serwer forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6
Wiedza o tym, jak tworzyć kopie zapasowe na domowy serwer, łączy się tu z doborem właściwego backendu: najpierw lokalnie dla szybkości, a potem zdalnie dla odporności na awarie domowe.
120–150 minut: automatyzacja z cron lub systemd
Backup bez automatyzacji w praktyce nie istnieje. Zaplanuj codzienną kopię nocą oraz cotygodniowe czyszczenie starych wersji.
Przykładowy crontab dla użytkownika backup:
0 2 * * * export RESTIC_PASSWORD='twoje_haslo' && restic -r /media/usbbackup backup /home /etc /srv --exclude-caches >> /var/log/restic-local.log 2>&1
0 3 * * 0 export RESTIC_PASSWORD='twoje_haslo' && restic -r /media/usbbackup forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6 >> /var/log/restic-local.log 2>&1
30 2 * * * export RESTIC_PASSWORD='twoje_haslo' B2_ACCOUNT_ID=twoje_id B2_ACCOUNT_KEY=twoj_klucz && restic -r b2:twoj-bucket:/domowy-serwer backup /home /etc /srv --exclude-caches >> /var/log/restic-b2.log 2>&1
0 4 * * 0 export RESTIC_PASSWORD='twoje_haslo' B2_ACCOUNT_ID=twoje_id B2_ACCOUNT_KEY=twoj_klucz && restic -r b2:twoj-bucket:/domowy-serwer forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6 >> /var/log/restic-b2.log 2>&1
Analogicznie z Borg przy użyciu borg prune.
150–180 minut: test odtwarzania i dokumentacja
Backup jest tak dobry, jak jego przywracanie. Po pierwszym przebiegu wykonaj test.
- Losowy plik: usuń skopiowany plik i odtwórz go z repozytorium na tymczasową lokalizację.
- Próba katalogu: odtwórz cały mały katalog, np. Dokumenty testowe, i sprawdź spójność.
- Raport: zapisz w pliku ścieżki, komendy i hasła do sejfu offline.
Przykładowe przywracanie w Restic:
export RESTIC_PASSWORD='twoje_haslo'
restic -r /media/usbbackup snapshots
restic -r /media/usbbackup restore latest --target /tmp/restore-test
Zwróć uwagę na prawa dostępu i właścicieli plików. Przywracaj z zachowaniem atrybutów, gdy to istotne.
Dlaczego RAID to nie backup
RAID zapewnia dostępność, nie chroni przed błędami ludzkimi, malware, szyfrowaniem przez ransomware czy skasowaniem katalogu przez pomyłkę. Nawet w NAS, macierze RAID mogą się rozjechać przy awarii kontrolera. Kopia wersjonowana poza macierzą to absolutna podstawa. Właśnie dlatego ucząc się, jak tworzyć kopie zapasowe na domowy serwer, nie mylimy RAID z backupem.
Wybór magazynu i narzędzi: przegląd praktyczny
Dyski USB, NAS, chmura: plusy i minusy
- Dysk USB: niski koszt, wysoka szybkość, ale brak odseparowania, ryzyko utraty w zdarzeniach domowych. Dobrze jako pierwsza warstwa.
- NAS: centralne miejsce, wygodne udziały SMB i NFS, łatwa współpraca z Time Machine i Windows. Wymaga podstawowej administracji i zabezpieczeń.
- Chmura S3: kopia offsite, wersjonowanie po stronie dostawcy, dostęp z każdego miejsca. Koszt miesięczny i potrzeba kontroli haseł oraz kluczy API.
Oprogramowanie do backupu: którym narzędziem iść
- Restic: proste, szybkie, z szyfrowaniem, deduplikacją i wieloma backendami. Idealne dla większości domowych zastosowań.
- BorgBackup: stabilny klasyk z deduplikacją i kompresją; wymaga lokalnego lub zdalnego repozytorium, świetny na USB i NAS.
- Rsync: dobre do lustrzanych kopii i seedingów; warto łączyć z snapshotami systemu plików lub narzędziami wersjonującymi.
- Duplicacy, Duplicati: alternatywy z GUI; wygodne dla początkujących.
- Veeam Agent dla Windows i Linux: przyjazny wizard, obrazowe kopie systemu, harmonogramy.
- Time Machine na macOS: bezobsługowe wersjonowanie na NAS lub dysk sieciowy.
Jeśli zastanawiasz się, jak tworzyć kopie zapasowe na domowy serwer, zacznij od Restic na USB oraz w chmurze, a w tle zaplanuj bardziej zaawansowane rozwiązania jak snapshoty ZFS czy Btrfs.
Gotowe scenariusze wdrożenia
Linux domowy serwer: Ubuntu, Debian, Arch
Załóżmy, że masz katalogi home, etc, srv i chcesz mieć lokalny backup na USB oraz offsite na B2. Prosta recepta:
- Instalacja Restic: apt install restic lub pacman -S restic.
- Repozytorium lokalne: init na USB.
- Pierwszy backup: backup z wykluczeniami.
- Repozytorium w chmurze: init w B2.
- Automatyzacja: cron lub systemd timer.
- Test restore: restore latest do folderu tymczasowego.
Przykładowe pliki exclude dla Restic w etc/restic-exclude:
*.tmp
.cache
.thumbnails
*/node_modules
*.iso
lost+found
var/tmp
proc
sys
dev
run
Następnie uruchom backup z użyciem listy wykluczeń:
restic -r /media/usbbackup backup /home /etc /srv --exclude-file /etc/restic-exclude
TrueNAS i ZFS: snapshoty i replikacja
Jeżeli Twoje dane żyją na ZFS, skorzystaj z mocy snapshotów i replikacji między systemami. Plan:
- Snapshoty: co godzinę lub codziennie dla datasetów o wysokiej zmienności.
- Zfs send: wysyłka przyrostowa na drugi NAS lub dysk USB.
- Offsite: snapshot stream na zdalny host przez ssh.
Przykład ręcznej wysyłki przyrostowej:
zfs snapshot tank/dane@daily-2024-10-01
zfs send -I @daily-2024-09-30 tank/dane@daily-2024-10-01 | ssh user@nas2 zfs receive backup/dane
Snapshoty nie zastępują pełnego backupu wersjonowanego w chmurze, ale świetnie wspierają szybkie lokalne odtworzenia.
Proxmox, LXC, VM i kontenery
Jeśli hostujesz usługi w Proxmox, połącz kopie maszyn wirtualnych z backupem danych aplikacji.
- Backup VM do lokalnego storage, np. PVE vzdump na dysk rotacyjny.
- Kopie danych aplikacji z katalogów bind mount lub wolumenów, np. Restic z hosta.
- Offsite dla najważniejszych folderów konfiguracyjnych i baz.
Nie polegaj wyłącznie na kopiach obrazów VM. Dla usług takich jak Nextcloud z bazą MariaDB wykonuj także zrzuty baz i backup katalogów danych.
Synology i QNAP: Hyper Backup, HBS3
Serwery NAS mają wbudowane narzędzia do kopii z retencją i szyfrowaniem. Skonfiguruj zadania Hyper Backup Synology lub HBS3 QNAP:
- Cel lokalny: drugi wolumen, dysk USB.
- Cel zdalny: S3, B2, partner SFTP.
- Retencja: polityka rotacji wersji z codziennym i tygodniowym harmonogramem.
W tym środowisku wiedza, jak tworzyć kopie zapasowe na domowy serwer, sprowadza się do opanowania kreatora, wyboru udziałów i poprawnej retencji. Nie zapomnij o szyfrowaniu zadania.
Windows 10 i 11: File History i Veeam Agent
Na stacjach roboczych Windows dobrze sprawdza się File History do wersjonowania na NAS. Dla pełniejszego obrazu systemu użyj Veeam Agent:
- File History: wskazanie udziału sieciowego i wykluczenia folderów tymczasowych.
- Veeam Agent: backup obrazowy na NAS lub dysk USB, harmonogram nocny, retencja miesięczna.
To prosty sposób, by uzyskać kompatybilność z serwerem domowym i przygotować się na odtwarzanie całej maszyny.
macOS: Time Machine do SMB na serwerze
Time Machine płynnie współpracuje z udziałem SMB skonfigurowanym do roli celu TM. Na Linuksie użyj Samby z odpowiednimi parametrami. Minimalny fragment konfiguracyjny:
[TimeMachine]
path = /srv/tm
browseable = yes
writeable = yes
vfs objects = fruit streams_xattr
fruit:time machine = yes
fruit:time machine max size = 1000G
Na Macu wybierz udział Time Machine i włącz szyfrowanie. To wygodne, a wersjonowanie działa bezobsługowo.
Szyfrowanie, klucze i bezpieczne przechowywanie haseł
Hasła i klucze
- Restic i Borg szyfrują domyślnie. Hasła trzymaj w menedżerze haseł i offline na papierze.
- SSH: generuj klucze z passphrase. Przykład: ssh-keygen -o -a 100 -t ed25519.
- Kopie kluczy: eksportuj i przechowuj offsite, zaszyfrowane.
Dla zmiennych środowiskowych używaj plików w katalogu domowym użytkownika backup, np. plik .restic-env z uprawnieniami 600 i ładowany przez skrypty.
Transport i dostęp
- VPN: Tailscale lub WireGuard do bezpiecznego dostępu offsite.
- Firewall: ograniczaj porty, preferuj ssh zamiast otwartych usług.
- Rclone z tokenami o ograniczonych uprawnieniach do chmury.
Element bezpieczeństwa jest integralny z tym, jak tworzyć kopie zapasowe na domowy serwer. Bez szyfrowania i separacji haseł backup może stać się wektorem ryzyka.
Retencja, wersjonowanie i polityka kasowania
Przykładowe polityki
- Dom standard: 7 dziennych, 4 tygodniowe, 6 miesięcznych.
- Foto plus: 14 dziennych, 8 tygodniowych, 12 miesięcznych.
- Minimal: 7 dziennych, 3 tygodniowe, 3 miesięczne.
Restic i Borg mają wbudowane mechanizmy forget lub prune. Uruchamiaj je przewidywalnie, najlepiej raz w tygodniu.
restic forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6 /media/usbbackup/borgrepo
Monitoring, raporty i kontrola zdrowia
- Logi: przekierowuj stdout i stderr do plików w var/log.
- Healthchecks: dodaj curl do healthchecks.io na końcu joba, aby mieć powiadomienia, gdy backup nie dotrze.
- Powiadomienia email: proste skrypty z mailx lub msmtp.
Przykład integracji z healthchecks:
restic backup ... && curl -fsS https://hc-ping.com/uid
Wydajność i koszty: jak przyspieszyć i nie przepłacić
Parametry i wykluczenia
- Exclude: nie archiwizuj cache i plików tymczasowych, to oszczędza miejsce i ruch.
- Kompresja: Borg z kompresją lz4 czy zstd, Restic ma wbudowaną deduplikację blokową.
- Rsync: przełączniki aHAX, delete, partial, progress wedle potrzeb.
Dobór wykluczeń jest kluczowy dla skuteczności. Prawidłowe wykluczenia to często różnica między 300 GB a 120 GB w chmurze.
Snapshoty systemu plików
- ZFS i Btrfs: snapshoty spójne w czasie, potem rsync lub send do repozytorium. Świetne dla baz danych.
- LVM: snapshot i backup z mrożenia systemu plików.
Snapshot plus narzędzie backupu to przepis na szybkie i spójne kopie. To kolejny element praktyki, jak tworzyć kopie zapasowe na domowy serwer, bez przestojów usług.
Szacowanie kosztów chmury
- Przechowywanie: koszt za GB miesięcznie, tańsze w B2 i Wasabi, droższe w S3 standard.
- Transfer: egress bywa płatny. Backup to głównie ingress, ale testy odtwarzania także generują ruch.
- Operacje: S3 ma opłaty za listowanie i żądania, Restic używa ich umiarkowanie.
Optymalizuj przez retencję i deduplikację, a także seeding pierwszej kopii lokalnie, jeśli to możliwe.
Najczęstsze błędy i jak ich uniknąć
- Brak testu odtwarzania: minimum raz na kwartał przywróć próbkę danych.
- Przechowywanie haseł w skryptach: używaj plików env z prawami 600 i menedżera haseł.
- Mylenie RAID z backupem: RAID nie chroni przed ransomware ani przypadkowym usunięciem.
- Jedna lokalizacja: brak offsite to proszenie się o kłopoty przy zalaniu, pożarze, kradzieży.
- Nadmierne wykluczenia: nie wykluczaj katalogów z konfiguracją i baz danych przez przypadek.
- Za mała retencja: czasem błąd wykryjesz po tygodniu. Zostaw miejsce na wersje miesięczne.
FAQ: szybkie odpowiedzi
Czy wystarczy backup na sam NAS? Nie. Dodaj kopię offsite w chmurze lub na dysku rotacyjnym przechowywanym poza domem.
Jak często robić kopie? Codziennie w nocy plus snapshoty częstsze dla baz. Prune raz w tygodniu.
Jak sprawdzić integralność? Restic ma polecenie check, Borg check. Używaj ich co miesiąc.
Czy szyfrować? Tak, zawsze, zwłaszcza przy chmurze lub nośnikach przenośnych.
Co z Dockerem? Backupuj wolumeny danych, nie tylko obrazy. Eksportuj konfiguracje i compose.
Ile miejsca zaplanować? Zwykle 2–3 razy rozmiar źródłowych danych na warstwę lokalną przy agresywnej retencji, mniej gdy deduplikacja jest skuteczna.
Lista kontrolna do wdrożenia w jeden wieczór
- Spisz katalogi krytyczne i ich rozmiary.
- Wybierz magazyny: dysk USB plus chmura S3 lub B2.
- Zainstaluj Restic lub Borg i zainicjuj repozytoria.
- Wykonaj pierwszy lokalny backup, potem offsite.
- Zaprogramuj zadania cron z retencją i logami.
- Przeprowadź test odtwarzania pliku i katalogu.
- Udokumentuj hasła i ścieżki, schowaj offline.
- Włącz monitoring jobów i miesięczny check integralności.
Podsumowanie: bez bólu głowy, z realną ochroną
Skuteczna ochrona domowych danych nie wymaga tygodni konfiguracji. Wystarczy trzymać się zasady 3-2-1, połączyć szybki backup lokalny z kopią offsite, zautomatyzować harmonogram i co jakiś czas sprawdzić odtwarzanie. To praktyczna esencja tego, jak tworzyć kopie zapasowe na domowy serwer, by spać spokojnie. Zacznij dziś od pierwszej warstwy, dołóż drugą w chmurze, włącz powiadomienia i wykonaj test restore. Dzięki temu Twój domowy serwer i dane będą bezpieczne także wtedy, gdy zdarzy się to, czego nie przewidzisz.
Aneks: krótkie snippety i gotowce
Skrypt Restic lokal plus B2
#!/bin/sh
set -euo pipefail
export RESTIC_PASSWORD='twoje_haslo'
SOURCES="/home /etc /srv"
EXCLUDES="/etc/restic-exclude"
# lokalny
restic -r /media/usbbackup backup $SOURCES --exclude-file $EXCLUDES
restic -r /media/usbbackup forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6
# offsite
export B2_ACCOUNT_ID=twoje_id
export B2_ACCOUNT_KEY=twoj_klucz
restic -r b2:twoj-bucket:/domowy-serwer backup $SOURCES --exclude-file $EXCLUDES
restic -r b2:twoj-bucket:/domowy-serwer forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6
Odzysk pojedynczego pliku w Borg
borg list /media/usbbackup/borgrepo
borg extract --stdout /media/usbbackup/borgrepo::arch-2024-10-01 home/user/Dokumenty/ważny.pdf > /tmp/wazny.pdf
Rsync snapshot directory
RSYNC_DEST=/mnt/nas/snapshots/$(date +%F)
rsync -aHAX --delete --link-dest=/mnt/nas/snapshots/last /home $RSYNC_DEST
rm -f /mnt/nas/snapshots/last
ln -s $RSYNC_DEST /mnt/nas/snapshots/last
Masz już wszystkie klocki, by bezboleśnie wdrożyć kopię zapasową po domowemu. Najważniejsze to zacząć i utrzymać nawyk regularnej kontroli. Jeśli ktoś zapyta Cię jutro, jak tworzyć kopie zapasowe na domowy serwer, pokaż mu ten plan i pozwól, by jego dane również zyskały drugie życie.