
W świecie administracji serwerami regularne wykonywanie kopii zapasowych to absolutna podstawa bezpieczeństwa danych. Coraz więcej administratorów i właścicieli stron internetowych stawia dziś na rozwiązania open source, które oferują dużą elastyczność, brak opłat licencyjnych i możliwość pełnej kontroli nad infrastrukturą. W tym artykule przedstawiamy najciekawsze narzędzia do backupu serwerów, które sprawdzą się zarówno w małych projektach, jak i rozbudowanych środowiskach VPS czy dedicated. Jeśli dodatkowo interesuje Cię niezawodna infrastruktura pod takie rozwiązania, warto regularnie śledzić aktualizacje naszego rankingu hostingów oraz testy wydajności serwerów.
Zanim przejdziemy do listy narzędzi, warto się zastanowić dlaczego open source to dobry kierunek, zwłaszcza w kontekście serwerów.
Oto kilka kluczowych zalet:
- Brak opłat licencyjnych – narzędzia open source zwykle są bezpłatne lub obwarowane licencją, która pozwala je używać, modyfikować i rozpowszechniać.
- Transparencja kodu – można przeglądać kod źródłowy, weryfikować bezpieczeństwo, dostosowywać do własnych potrzeb.
- Elastyczność i rozszerzalność – społeczność może tworzyć wtyczki, integracje, poprawki bezpieczeństwa.
- Brak vendor lock-in – nie jesteś uzależniony od jednego producenta, łatwiej zmieniać rozwiązania.
- Dobre skalowanie i automatyzacja – wiele projektów open source ma lepszą automatyzację, API i elastyczność niż komercyjne odpowiedniki.
Oczywiście są też wyzwania:
- Czasem trudniejsza konfiguracja, dokumentacja mniej prosta.
- Brak gwarantowanego wsparcia (choć wiele projektów ma wersje komercyjne lub firmy oferujące wsparcie).
- W niektórych przypadkach mniejsze wsparcie dla GUI lub analogicznych interfejsów graficznych trzeba działać z linii komend.
Dla serweram gdzie stabilność, bezpieczeństwo i możliwość odtworzenia danych w razie awarii są kluczowe, open source często jest wyśmienitym wyborem.
Lista popularnych (sprawdzonych) narzędzi open-source do backupu serwerów
Poniżej omówię 9 projektów, z podkreśleniem ich mocnych stron, przypadków użycia i potencjalnych minusów. Nie wszystkie narzędzia będą trafiać idealnie do każdego scenariusza, ale wśród nich znajdziesz coś, co będzie pasować do Twojej infrastruktury.
1. Bacula / Bareos
Link do pobrania: https://www.bacula.org/source-download-center
Bacula to klasyka świata open source w dziedzinie backupów sieciowych. Obsługuje środowiska heterogeniczne (Linux, Unix, Windows, macOS).
Jeśli chcesz nowocześniejszej odmiany, Bareos (Backup Archiving Recovery Open Sourced) to fork Baculi z wieloma dodatkami.
Zalety Bacula / Bareos:
- Architektura klient-serwer – możesz zabezpieczyć wiele hostów.
- Obsługa różnych backendów (dyski, taśmy, zasoby chmurowe).
- Szyfrowanie, kompresja, katalog (bazodanowy) do śledzenia backupów.
- Możliwość integracji z bazami danych, aplikacjami.
- Wersja komercyjna wspierana przez firmy (np. Bacula Systems), jeśli potrzebujesz wsparcia.
Minusy:
- Dość złożona konfiguracja, wiele plików konfiguracyjnych.
- Interfejsy graficzne bywają mniej przyjazne (choć są projekty z Web UI).
- W mniejszych scenariuszach może być „overkill”.
Kiedy warto użyć: jeśli masz wiele serwerów do zabezpieczenia, chcesz mieć centralne zarządzanie backupami i rozbudowaną automatyzację.
2. Restic
Link do pobrania: https://restic.net/
Restic to stosunkowo „lekkie”, ale potężne narzędzie do backupów z naciskiem na bezpieczeństwo.
Działa jako narzędzie CLI (linia poleceń), ale obsługuje wiele backendów (lokalne, SFTP, S3-kompatybilne, itp.).
Zalety Restic:
- Szyfrowanie end-to-end (wbudowane).
- Deduplikacja – unikanie powtarzania danych w backupach.
- Wydajność i prostota – jedno binarium do wielu systemów operacyjnych.
- Możliwość automatyzacji przy pomocy skryptów (cron, systemd).
Minusy:
- Brak natywnych wersji klient-serwer (choć są projekty dodatkowe).
- Całość zarządzania odbywa się z linii komend – mniej przyjazne GUI.
- W przypadku dużej skali może brakować funkcji sieciowych, które mają narzędzia klasy Bacula.
Przykład użycia (skrypt backupu katalogu /var/www):
#!/bin/bash # katalog źródłowy SRC="/var/www" # repozytorium backupów (np. na inny serwer via SFTP) REPO="sftp:user@backup-server:/repozytorium/restic" # hasło (lub plik z hasłem) export RESTIC_PASSWORD="moje_haslo_strong" # inicjalizacja repo (pierwszy raz) restic init --repo $REPO # wykonywanie backupu restic backup $SRC --repo $REPO # opcjonalnie: usuwanie starych snapshotów, np. zachowaj 30 dni restic forget --prune --keep-daily 30 --repo $REPO
Możesz ten skrypt dodać do cron, np. uruchamiany codziennie o 2:00:
0 2 * * * /usr/local/bin/backup-www.sh >> /var/log/restic-backup.log 2>&1
3. Duplicati
Link do pobrania: https://duplicati.com/download
Duplicati to ciekawe narzędzie, które działa jako klient do backupów, oferując szyfrowanie, kompresję, backupy przyrostowe i integrację z wieloma zdalnymi magazynami (FTP, SFTP, WebDAV, Amazon S3 i innymi).
Posiada GUI/webowe UI, co ułatwia konfigurację, również na serwerach headless.
Zalety Duplicati:
- Wygodny interfejs (webowy) do zarządzania kopiami.
- Możliwość wyboru wielu backendów zdalnych, co daje elastyczne przechowywanie.
- Szyfrowanie (AES / GPG) oraz kompresja.
- Backupy przyrostowe, filtrowanie plików.
Minusy:
- Jako klient, nie jest typowym narzędziem typu klient-serwer (ale można działać w środowisku serwerowym, instalując Duplicati na maszynach klienckich).
- W bardzo dużych środowiskach może brakować granicznej skalowalności.
- Czasem mogą występować problemy ze stabilnością lub błędy związane z połączeniami do wielu backendów w jednym zadaniu.
Przykład instalacji Duplicati na Debianie/Ubuntu (skrócony):
# pobierz najnowszą wersję .deb (strona duplicati.com) wget https://updates.duplicati.com/betas/duplicati_2.X.X.X_beta_amd64.deb sudo dpkg -i duplicati_2.X.X.X_beta_amd64.deb sudo apt-get -f install # aby dokończyć instalację zależności # uruchom usługi sudo systemctl enable duplicati sudo systemctl start duplicati # Duplicati dostępny pod adresem http://localhost:8200 (web UI)
Potem w UI konfigurujesz zadania backupu, wybierasz foldery, harmonogram, backend.
4. UrBackup
Link do pobrania: https://www.urbackup.org/download.html
UrBackup to rozwiązanie klient-serwer, które obsługuje zarówno backupy plikowe, jak i obrazów dysków (image backup).
Ma interfejs webowy do zarządzania, automatyzację i dobre możliwości odzyskiwania (restore).
Zalety UrBackup:
- Możliwość wykonywania backupu obrazów (bare metal restore) i plików.
- Interfejs webowy, prostsza konfiguracja klienta i serwera.
- Dobrze zoptymalizowane incrementalne backupy, monitorowanie zmian w katalogach.
- Możliwość backupu przez internet, zdalnie.
Minusy:
- W dużej skali (setki / tysiące klientów) może być mniej dojrzały niż Bacula.
- Czasem ograniczenia w plugins / obsłudze aplikacji (np. bazy danych).
- Mniej elastyczny niż rozwiązania pure CLI w ekstremalnych wdrożeniach.
Przykład:
- Zainstaluj
urbackup-serverna maszynie głównej. - Zainstaluj klienta
urbackup-clientna serwerze, który chcesz zabezpieczyć. - W interfejsie webowym serwera dodaj klienta, ustaw reguły backupu (co, kiedy).
- W przypadku restore można użyć bootowalnego nośnika i przywrócić całą maszynę.
5. Amanda
Link do pobrania: https://www.amanda.org/download.php
Amanda (Advanced Maryland Automatic Network Disk Archiver) to klasyczne narzędzie open source do backupów sieciowych.
Serwer Amanda steruje kopiami ze zdalnych hostów, korzystając z klientów.
Zalety Amanda:
- Działa w modelu klient-serwer, wielu hostów.
- Obsługa kopii na dyski, taśmy oraz inne media.
- Rozsądne narzędzia do zarządzania harmonogramami, rotacją, itp.
- Dojrzały projekt, istnieje długo i jest sprawdzony w praktyce.
Minusy:
- Interfejs GUI ograniczony lub w wersji komercyjnej.
- Konfiguracja może być skomplikowana.
- Współczesne integracje (np. chmurowe backendy) bywają dodane dopiero przez pluginy/trzecie strony.
6. BorgBackup / borg
Link do pobrania: https://www.borgbackup.org/releases
Borg (BorgBackup) to bardzo popularny projekt open source, ceniony za deduplikację, szybkość i bezpieczeństwo.
Jest często rekomendowany jako jeden z najlepszych lekkich rozwiązań do backupów plikowych.
Zalety Borg:
- Świetna deduplikacja, jeśli masz dużo podobnych plików, oszczędzasz miejsce.
- Kompresja, szyfrowanie, wszystko wbudowane.
- Możliwość tworzenia „repozytoriów” backupów i przywracania pojedynczych plików.
- Lekka architektura i dobra wydajność.
Minusy:
- Nie jest natywnie klient-serwer (chociaż można wykorzystać SSH + skrypty).
- Brak natywnego GUI (choć są narzędzia wrapperów, np. borgmatic).
- W skomplikowanych scenariuszach sieciowych może wymagać dopracowywania integracji.
7. Rsync, Rclone, Rdiff-backup
Link do pobrania: https://rsync.samba.org/download.html
To bardziej „narzędzia budulcowe” niż kompletne systemy backupowe, ale zasługują na uwagę:
- rsync – klasyczne narzędzie do synchronizacji katalogów; często używane jako podstawa prostych backupów (lokalnych, zdalnych).
- rdiff-backup – łączy rsync + wersjonowanie.
- Rclone – idealny do pracy z magazynami w chmurze i synchronizacji plików z nimi.
Te narzędzia często stosuje się w skryptach niestandardowych backupów.
8. FreeFileSync
Link do pobrania: https://freefilesync.org/download.php
FreeFileSync to projekt open source do synchronizacji i backupu plików/folderów, z interfejsem graficznym.
Można go używać na różnych systemach operacyjnych.
Zalety:
- Intuicyjny GUI, łatwa konfiguracja zadania synchronizacji/backupów.
- Obsługa wielu systemów (Windows, macOS, Linux).
- Synchronizacja plików + backup (kopiowanie różnicowe).
Minusy:
- Nie jest narzędziem klasy klient-serwer (raczej pojedyncze maszyny).
- Brak rozbudowanych funkcji sieciowych, deduplikacji, itp.
9. Clonezilla
Link do pobrania: https://clonezilla.org/downloads.php
Clonezilla to narzędzie do klonowania dysków / obrazów systemów.
Jest mniej narzędziem do codziennego backupu danych, a raczej do tworzenia obrazów maszyn (np. przed migracją, masowych wdrożeń).
Zalety:
- Możliwość tworzenia obrazów dysku (cały system) i odtwarzania ich (bare metal).
- Wydajność i niezależność od struktury plików (działa na poziomie bloków).
- Można używać w trybie wielomaszynowym (Clonezilla Server Edition).
Minusy:
- Nie idealny do codziennego backupu plików / zmiennych katalogów.
- Wymaga przerwy w działaniu, bootowania z LiveCD/USB lub trybu offline.
Porównanie narzędzi – które wybrać dla jakiego scenariusza?
Poniżej sugeruję, jakie narzędzie może być dobrym wyborem w konkretnych scenariuszach:
- Średnia infrastruktura z wieloma serwerami, chcesz centralne zarządzanie → Bacula / Bareos
- Backup plików + skrypty, prosta konfiguracja, deduplikacja → Restic lub Borg
- Potrzebujesz GUI / web UI / łatwości obsługi → Duplicati lub UrBackup
- Backup całego systemu / obrazów + restore bare metal → UrBackup (dla plików + obrazów) lub Clonezilla (gdy offline)
- Chcesz samodzielnie komponować backupy do chmury / zróżnicowane backendy → Duplicati, Rclone + skrypty
- Duże środowisko, integracja z bazami danych / aktywne wsparcie → Bacula / Bareos, ewentualnie wersje komercyjne
Oczywiście nic nie stoi na przeszkodzie, by łączyć narzędzia, np. używać Restic do backupów katalogów, a Bacula do zarządzania innymi maszynami.
Przykładowy schemat wdrożenia backupu serwera z Restic + SSH + cron
Pokażę Ci, krok po kroku, jak można zbudować prosty, lecz solidny system backupu plików na serwerze z wykorzystaniem Restic i repozytorium zdalnego przez SSH.
Założenia
- Serwer produkcyjny:
prod.example.com - Backup host:
backup.example.com - Na backup host masz katalog
/data/backups/resticz uprawnieniami dostosowanymi do użytkownika backupowego. - Użytkownik
backupuserna backup host musi mieć uprawnienia SSH (klucz publiczny) do serwera produkcyjnego. - Chcesz, by codziennie o 3:00 wykonany był backup katalogu
/etc,/var/www,/home. - Chcesz zachować kopie dzienne przez 14 dni, tygodniowe przez 8 tygodni i miesięczne przez 3 miesiące.
Krok 1: ustaw klucz SSH
Na serwerze produkcyjnym (prod) jako użytkownik, który będzie robił backup:
ssh-keygen -t ed25519 -f ~/.ssh/restic_backup_key # zostawiasz puste hasło dla klucza ssh-copy-id -i ~/.ssh/restic_backup_key.pub backupuser@backup.example.com
Na backup host (backup.example.com), wybierz katalog docelowy i nadaj prawa:
sudo mkdir -p /data/backups/restic sudo chown backupuser:backupuser /data/backups/restic chmod 700 /data/backups/restic
Krok 2: instalacja restic
Na serwerze produkcyjnym:
sudo apt update sudo apt install restic # lub ściągnij binarium, jeśli dystrybucja nie ma pakietu
Krok 3: skrypt backupu (backup-restic.sh)
Stwórz plik np. /usr/local/bin/backup-restic.sh:
#!/bin/bash # --- konfiguracja --- SRC_LIST="/etc /var/www /home" REMOTE_REPO="ssh://backupuser@backup.example.com//data/backups/restic" export RESTIC_PASSWORD="ToJestMocneHasłoBackupowe" # inicjalizacja (wykona się tylko, jeśli repozytorium nie istnieje) restic -r $REMOTE_REPO snapshots >/dev/null 2>&1 || restic init -r $REMOTE_REPO # backup for SRC in $SRC_LIST; do restic -r $REMOTE_REPO backup $SRC done # usuwanie starych snapshotów restic -r $REMOTE_REPO forget --prune \ --keep-daily 14 \ --keep-weekly 8 \ --keep-monthly 3
Nadaj plikowi prawa:
chmod +x /usr/local/bin/backup-restic.sh
Krok 4: zaplanuj cron
Dodaj wpis do crona, np. przez crontab -e:
0 3 * * * /usr/local/bin/backup-restic.sh >> /var/log/restic-backup.log 2>&1
Teraz codziennie o 3:00 zostanie wykonany backup.
Krok 5: test przywracania
Aby sprawdzić, że backup działa i że można przywrócić dane:
# wyświetl listę snapshotów restic -r ssh://backupuser@backup.example.com//data/backups/restic snapshots # przywróć plik /etc/passwd z ostatniego snapshotu do katalogu testowego restic -r ssh://backupuser@backup.example.com//data/backups/restic restore latest \ --target /tmp/restore-test --include /etc/passwd
Jeśli plik /tmp/restore-test/etc/passwd się pojawi, masz dowód, że backup działa.
To jest prosty schemat. Możesz go rozbudować, by uwzględnić bazy danych (dumpy MySQL/PostgreSQL), prostą rotację, powiadomienia e-mail, weryfikację integralności itd.
Jak widzisz istnieje sporo darmowych narzędzi, za pomocą których będziesz mógł robić kopie plików na swoim serwerze VPS czy serwerze dedykowanym. Najważniejsze że wszystkie z listy są w wersji open-source, więc możesz ich używać nawet komercyjnie bez dodatkowych żadnych opłat.

