rsync, rclone, Robocopy i Unison – Kompletny Przewodnik i Porównanie Narzędzi do Synchronizacji Plików (2026)

Szukasz najlepszego narzędzia do synchronizacji, kopii zapasowych lub migracji danych? Ten przewodnik porównuje cztery czołowe rozwiązania: rsync, rclone, Robocopy i Unison — z przykładami, tabelami, przypadkami użycia.

 
Sprawdź szczegóły:
 
 
 
 

Spis treści

  1. Czym są narzędzia do synchronizacji plików i dlaczego mają znaczenie?
  2. rsync – klasyk synchronizacji w systemach Unix/Linux
  3. rclone – rsync dla chmury
  4. Robocopy – potężne narzędzie Microsoftu
  5. Unison – synchronizacja dwukierunkowa
  6. Szczegółowe porównanie: rsync vs rclone vs Robocopy vs Unison
  7. Kiedy użyć którego narzędzia? Tabela decyzyjna
  8. Przykłady użycia i gotowe komendy
  9. Bezpieczeństwo i szyfrowanie danych podczas synchronizacji
  10. Wydajność i benchmarki
  11. Integracja z automatyzacją i harmonogramami zadań
  12. Najczęstsze błędy i jak ich unikać
  13. Alternatywy i narzędzia uzupełniające
  14. Podsumowanie i rekomendacje
  15. FAQ – Najczęściej zadawane pytania

1. Czym są narzędzia do synchronizacji plików i dlaczego mają znaczenie?

Synchronizacja plików to proces polegający na utrzymywaniu spójności danych pomiędzy dwoma lub więcej lokalizacjami — lokalnym dyskiem, serwerem sieciowym, dyskiem zewnętrznym lub usługą chmurową. W erze, gdy dane generowane są w tempie eksabajtów dziennie, wybór odpowiedniego narzędzia do ich zarządzania przekłada się bezpośrednio na bezpieczeństwo, koszt operacyjny i produktywność.

Dlaczego warto używać dedykowanych narzędzi zamiast ręcznego kopiowania?

Ręczne kopiowanie plików metodą „przeciągnij i upuść” lub prostym cp/copy ma poważne ograniczenia:

  • Brak delta transfer – kopiuje cały plik, nawet jeśli zmienił się tylko jeden bajt
  • Brak weryfikacji integralności – nie sprawdza, czy plik dotarł bez uszkodzeń
  • Brak obsługi konfliktów – przy zmianach po obu stronach nie wiadomo, która wersja jest „poprawna”
  • Brak odporności na przerwy – przerwana operacja zostawia dane w niespójnym stanie
  • Brak logowania – nie ma śladu, co zostało skopiowane, a co pominięte

Dedykowane narzędzia takie jak rsync, rclone, Robocopy i Unison rozwiązują każdy z tych problemów — każde na swój sposób i w innym ekosystemie.

Kto powinien czytać ten artykuł?

  • Administratorzy systemów Linux, Windows i macOS
  • DevOps i inżynierowie infrastruktury
  • Twórcy skryptów automatyzacji backupu
  • Użytkownicy domowi dbający o bezpieczeństwo danych
  • Deweloperzy szukający narzędzi do synchronizacji środowisk
  • Osoby migrujące dane między chmurami lub serwerami

2. rsync – Klasyk synchronizacji w systemach Unix/Linux

Historia i geneza rsync

rsync (Remote Sync) to narzędzie stworzone przez Andrew Tridgella i Paula Mackerra w 1996 roku. Jego fundamentem jest autorski algorytm delta transfer (znany też jako algorytm rsync), który zmienił sposób, w jaki świat informatyki podchodzi do synchronizacji plików.

Dziś rsync jest nieodłącznym elementem każdej dystrybucji Linuksa, dostępny jest również na macOS i — przez Cygwin lub WSL — na Windows.

Jak działa algorytm rsync?

Zamiast przesyłać całe pliki, rsync:

  1. Dzieli plik docelowy na bloki o stałej wielkości
  2. Oblicza sumę kontrolną (checksum) każdego bloku
  3. Przesyła te sumy do nadawcy
  4. Nadawca porównuje je ze swoją wersją pliku
  5. Przesyłane są tylko różniące się bloki (delty)

Efekt? Przy aktualizacji 1 GB pliku, w którym zmieniło się 10 KB, rsync przesyła tylko te 10 KB — a nie gigabajt od nowa.

Instalacja rsync

Linux (Debian/Ubuntu):

sudo apt update && sudo apt install rsync

Linux (RHEL/CentOS/Fedora):

sudo dnf install rsync

macOS (przez Homebrew):

brew install rsync

Windows (przez WSL2):

# Po zainstalowaniu WSL2 z Ubuntu
sudo apt install rsync

Składnia i najważniejsze flagi rsync

Podstawowa składnia:

rsync [opcje] źródło cel

Najważniejsze flagi:

FlagaZnaczenie
-aTryb archiwum (zachowuje uprawnienia, daty, symlinki)
-vVerbose – pokazuje przetwarzane pliki
-zKompresja w locie
-PPostęp + wznowienie przerwanego transferu
--deleteUsuwa pliki z celu, których nie ma w źródle
--excludeWyklucza pliki/katalogi pasujące do wzorca
--dry-run / -nSymulacja bez faktycznych zmian
--checksum / -cWeryfikacja przez checksum zamiast daty/rozmiaru
--bwlimitOgraniczenie przepustowości (KB/s)
--backupZachowuje nadpisane pliki jako kopie zapasowe

Przykłady użycia rsync

Lokalna synchronizacja katalogów:

rsync -av /źródło/ /cel/

Kopia na zdalny serwer przez SSH:

rsync -avz -e ssh /lokalne/dane/ użytkownik@serwer.pl:/zdalne/dane/

Synchronizacja z usuwaniem nieistniejących plików:

rsync -av --delete /źródło/ /cel/

Backup z wykluczeniami i limitem pasma:

rsync -avz --exclude='*.tmp' --exclude='.cache/' \
  --bwlimit=10000 /dane/ backup@192.168.1.100:/backup/

Wznowienie przerwanego transferu:

rsync -avP --partial /duży-plik.tar.gz serwer:/backup/

Mocne strony rsync

  • Dojrzałość i stabilność – 28+ lat aktywnego rozwoju
  • Wszechobecność – preinstalowany lub łatwo dostępny w każdym systemie Unix
  • Wydajny transfer – algorytm delta minimalizuje przesyłane dane
  • SSH out-of-the-box – bezpieczna transmisja bez dodatkowej konfiguracji
  • Skryptowanie – idealnie integruje się z bash/cron/systemd
  • Rsync daemon – możliwość uruchomienia serwera rsync na porcie 873

Ograniczenia rsync

  • Brak natywnej obsługi chmury – nie obsługuje S3, Google Drive, OneDrive itp.
  • Tylko Unix (natywnie) – na Windows wymaga WSL lub Cygwin
  • Synchronizacja jednokierunkowa – brak wbudowanej dwukierunkowej synchronizacji
  • Brak GUI – narzędzie tylko linii poleceń
  • Konflikty bez rozwiązania – przy modyfikacji po obu stronach brak mechanizmu scalania

3. rclone – rsync dla Chmury

Czym jest rclone?

rclone to narzędzie open-source stworzone przez Nicka Craiga-Wooda w 2012 roku, często określane jako „rsync for cloud storage”. Jego misją jest ujednolicenie interfejsu do dziesiątek różnych usług przechowywania danych — lokalnych i chmurowych — za pomocą jednego, spójnego CLI.

Oficjalna strona: rclone.org

Obsługiwane backendy (ponad 70 usług)

rclone obsługuje m.in.:

Chmury publiczneProtokoły siecioweLokalne i specjalne
Amazon S3SFTPHTTPS (REST API), S3 APIBrak natywnego lokalnego FS; gateway S3, kompatybilność przez MinIO / Storage Gateway
Google DriveHTTPS (REST API), API Google DriveSynchronizacja lokalna, cache offline, szyfrowanie po stronie klienta
Microsoft OneDriveHTTPS (REST API), WebDAV (pośrednio), Microsoft Graph APIFiles On-Demand, integracja z Windows Explorer, lokalna synchronizacja
DropboxHTTPS (REST API), LAN Sync, API DropboxChunking plików, deduplikacja, lokalny klient synchronizacji
Backblaze B2HTTPS (REST API), S3-compatible APIIntegracja z rclone, szyfrowanie po stronie klienta, brak on-prem
Cloudflare R2HTTPS (S3-compatible API), RESTEdge storage, brak egress fees, integracja z Cloudflare Workers
Azure Blob StorageHTTPS (REST API), S3 compatibility (gateway), ABFSAzure Files (SMB/NFS), Azurite emulator (lokalnie), Azure Arc (hybryda)
Google Cloud StorageHTTPS (JSON API), XML API, S3 interoperabilityEmulator lokalny (GCS emulator), cache, integracja z Anthos
WasabiHTTPS (S3-compatible API)Brak lokalnego deploymentu, pełna kompatybilność S3
MinIOHTTPS (S3 API)On-prem, Kubernetes, edge, distributed mode, erasure coding

Instalacja rclone

Linux/macOS (jeden skrypt):

curl https://rclone.org/install.sh | sudo bash

Windows (PowerShell jako Administrator):

winget install Rclone.Rclone

Docker:

docker run --rm rclone/rclone version

Konfiguracja rclone – pierwsze kroki

rclone config

Interaktywny kreator przeprowadzi przez konfigurację wybranego backendu. Konfiguracja jest zapisywana w ~/.config/rclone/rclone.conf.

Przykład konfiguracji Google Drive:

[gdrive]
type = drive
client_id = TWOJE_ID
client_secret = TWÓJ_SECRET
scope = drive
token = {"access_token":"..."}

Kluczowe komendy rclone

KomendaOpis
rclone copyKopiuje pliki (nie usuwa z celu)
rclone syncSynchronizuje (usuwa pliki nieobecne w źródle)
rclone movePrzenosi pliki
rclone ls / lsl / lsdListuje pliki/katalogi
rclone checkPorównuje źródło i cel
rclone mountMontuje zdalny zasób jako lokalny dysk
rclone bisyncDwukierunkowa synchronizacja
rclone serveUdostępnia zasób przez HTTP/SFTP/WebDAV
rclone dedupeUsuwa duplikaty
rclone cryptcheckWeryfikuje zaszyfrowane dane

Przykłady użycia rclone

Synchronizacja lokalnego folderu z Google Drive:

rclone sync /lokalne/dane gdrive:backup/dane --progress

Kopia między dwoma chmurami (S3 → B2):

rclone copy s3:mój-bucket b2:mój-bucket-backup --transfers=16 --progress

Montowanie Google Drive jako dysku:

rclone mount gdrive: ~/GoogleDrive --vfs-cache-mode writes &

Szyfrowana kopia zapasowa na Dropbox:

# Najpierw skonfiguruj backend "Crypt" na bazie "dropbox:"
rclone sync /poufne/dane dropbox-crypt:zaszyfrowane/ --progress

Synchronizacja z filtrowaniem i logowaniem:

rclone sync /źródło s3:bucket \
  --exclude "*.tmp" \
  --exclude ".git/**" \
  --log-file=/var/log/rclone.log \
  --log-level INFO \
  --transfers=8 \
  --checkers=16

Bisync (dwukierunkowa synchronizacja):

rclone bisync /lokalne/dane gdrive:dane --resync --progress

Mocne strony rclone

  • Ogromna liczba backendów – 70+ usług pod jednym CLI
  • Szyfrowanie end-to-end – wbudowany backend Crypt
  • Montowanie jako dysk – FUSE na Linux/macOS, WinFSP na Windows
  • Wysoka wydajność – równoległe transfery, chunking dużych plików
  • Filtrowanie – zaawansowane reguły include/exclude
  • Aktywna społeczność – częste aktualizacje, bogata dokumentacja
  • Serwowanie danych – HTTP/SFTP/WebDAV/S3 server

Ograniczenia rclone

  • Brak algorytmu delta (dla większości backendów) – domyślnie przesyła całe pliki
  • Złożona konfiguracja – przy wielu backendach i szyfrowaniu wymaga wiedzy
  • bisync w fazie beta – dwukierunkowa synchronizacja nie zawsze niezawodna przy konfliktach
  • Zużycie pamięci – przy dużych liczbach plików może pochłaniać dużo RAM

4. Robocopy – Potężne Narzędzie Microsoftu

Historia i znaczenie Robocopy

Robocopy (Robust File Copy) to narzędzie wiersza poleceń od Microsoftu, dostępne w systemach Windows od wersji Vista (2007) jako część systemu. Wcześniej było częścią Windows Resource Kit. Jego nazwa nie jest przypadkowa — projektowano je jako „solidna kopia”, odporna na błędy sieciowe i przerwy.

Robocopy zastąpiło przestarzałe xcopy i jest nadal domyślnym wyborem administratorów Windows do migracji danych, backupów i synchronizacji w środowiskach korporacyjnych.

Instalacja i dostępność

Robocopy jest preinstalowane w każdym systemie Windows Vista, 7, 8, 10 i 11 oraz Windows Server 2008+. Nie wymaga instalacji

# Sprawdzenie wersji
robocopy /?

Składnia Robocopy

ROBOCOPY źródło cel [plik [plik]...] [opcje]

Najważniejsze parametry:

ParametrZnaczenie
/EKopiuje podkatalogi (także puste)
/MIRMirror – synchronizuje katalog (usuwa niepotrzebne)
/MOVPrzenosi pliki (usuwa po skopiowaniu)
/ZTryb restart – wznawia po przerwaniu
/BTryb backup (omija ograniczenia uprawnień)
/MT:NWielowątkowe kopiowanie (domyślnie 8 wątków)
/LOG:plikZapis logu do pliku
/XFWyklucza pliki pasujące do wzorca
/XDWyklucza katalogi
/COPYALLKopiuje wszystkie atrybuty (dane, atrybuty, czasy, ACL, właściciel)
/DCOPY:DATKopiuje atrybuty katalogów
/R:NLiczba ponownych prób (domyślnie 1 milion!)
/W:NCzas oczekiwania między próbami (sekundy)
/IPG:NPrzerwa między pakietami (throttling)
/BYTESRozmiary w bajtach zamiast KB/MB

Przykłady użycia Robocopy

Podstawowa synchronizacja katalogów:

robocopy C:\źródło D:\cel /MIR /Z /LOG:C:\log\robocopy.log

Wielowątkowa kopia z obsługą błędów:

robocopy \\serwer\udział D:\lokalna /E /Z /MT:16 /R:3 /W:10

Kopia z zachowaniem wszystkich atrybutów NTFS:

robocopy C:\ważne-dane \\backup\ważne-dane /MIR /COPYALL /B /LOG+:backup.log

Migracja danych między serwerami (nocna):

robocopy \\stary-serwer\dane \\nowy-serwer\dane /MIR /COPYALL /B /MT:32 ^
  /R:5 /W:30 /LOG:C:\migracja\log.txt /TEE /NP

Kopia tylko zmodyfikowanych plików (backup przyrostowy):

robocopy C:\dane D:\backup /E /XO /LOG:backup.log

Flaga /XO (eXclude Older) pomija pliki starsze niż w źródle.

Harmonogram zadań (Task Scheduler):

schtasks /create /tn "Nocny backup" /tr "robocopy C:\dane D:\backup /MIR /Z" /sc daily /st 02:00

Kody wyjścia Robocopy

Robocopy używa bitmasek dla kodów wyjścia — to ważne przy skryptowaniu:

WartośćZnaczenie
0Brak zmian – pliki już były identyczne
1Skopiowano nowe pliki
2Usunięto dodatkowe pliki z celu
4Pliki niezgodne
8Błędy kopiowania
16Błąd krytyczny

Uwaga: kod 1 jest sukcesem — skrypty sprawdzające errorlevel -gt 0 mogą błędnie interpretować go jako błąd!


Mocne strony Robocopy

  • Wbudowany w Windows – zero instalacji, zero zależności
  • Wsparcie dla ACL i atrybutów NTFS – niezastąpiony przy migracji danych Windows
  • Odporność na błędy – automatyczne ponowne próby, tryb restart
  • Wielowątkowość/MT do 128 wątków równoległych
  • Tryb backup – omija ograniczenia uprawnień
  • Dojrzały kod – dziesiątki lat testów w środowiskach korporacyjnych

Ograniczenia Robocopy

  • Tylko Windows – brak wersji na Linux/macOS
  • Brak obsługi chmury – nie obsługuje S3, GDrive ani innych
  • Brak GUI (poza niezalecanym RoboMirror) – czysto CLI
  • Synchronizacja jednokierunkowa/MIR zawsze niszczy zmiany na celu
  • Składnia archaiczna – nieintuicyjna dla nowych użytkowników

5. Unison – Synchronizacja Dwukierunkowa

Czym jest Unison i co go wyróżnia?

Unison to narzędzie do synchronizacji plików stworzone przez Benjamina Pierce’a na Uniwersytecie Pensylwanii. Jego główna cecha wyróżniająca na tle rsync, rclone i Robocopy to prawdziwa, dwukierunkowa synchronizacja z obsługą konfliktów.

Podczas gdy rsync synchronizuje od A do B (nadpisując zmiany w B), Unison wykrywa zmiany po obu stronach i podejmuje inteligentne decyzje: propaguje zmiany, wykrywa konflikty i — w trybie interaktywnym — pyta użytkownika jak postąpić.

Strona projektu: github.com/bcpierce00/unison

Instalacja Unison

Linux (Debian/Ubuntu):

sudo apt install unison

macOS (Homebrew):

brew install unison

Windows:

# Binaria dostępne na GitHub releases lub przez winget
winget install bcpierce00.unison

Jak działa Unison?

Unison przechowuje archiwum stanu (plik .unison/) zawierający skróty (fingerprints) plików z poprzedniej synchronizacji. Przy kolejnym uruchomieniu:

  1. Skanuje obie repliki
  2. Porównuje bieżący stan z archiwum
  3. Klasyfikuje każdy plik: niezmieniony / zmieniony / nowy / usunięty
  4. Wykrywa konflikty (plik zmieniony po obu stronach)
  5. Propaguje bezkonfliktowe zmiany automatycznie
  6. Konflikty prezentuje użytkownikowi lub obsługuje zgodnie z polityką

Składnia i konfiguracja Unison

Podstawowa synchronizacja:

unison /ścieżka/lokalna ssh://serwer//ścieżka/zdalna

Plik profilu (~/.unison/praca.prf):

root = /home/user/praca
root = ssh://serwer.pl//backup/praca

# Wyklucz pliki tymczasowe
ignore = Name *.tmp
ignore = Name .DS_Store
ignore = Path .git

# Automatycznie aktualizuj nowe pliki bez pytania
auto = true

# Preferuj nowszą wersję przy konflikcie
prefer = newer

# Synchronizuj uprawnienia
perms = -1

# Kompresja
fastcheck = true

Uruchomienie z profilem:

unison praca

Unison z GUI:

unison-gtk praca

Tryby rozwiązywania konfliktów w Unison

TrybDziałanie
Interaktywny (domyślny)Pytaj użytkownika o każdy konflikt
prefer = newerZawsze wybierz nowszą wersję
prefer = olderZawsze wybierz starszą wersję
prefer = /ścieżka/lewaZawsze preferuj lewą replikę
prefer = /ścieżka/prawaZawsze preferuj prawą replikę

Mocne strony Unison

  • Prawdziwa dwukierunkowa synchronizacja – wykrywa i obsługuje zmiany z obu stron
  • Inteligentna obsługa konfliktów – zamiast cichego nadpisania, informuje i pyta
  • Obsługa SSH – bezpieczna komunikacja sieciowa
  • Profile – wygodna konfiguracja różnych scenariuszy
  • GUI dostępne – unison-gtk dla użytkowników bez CLI
  • Weryfikacja integralności – porównuje sumy kontrolne, nie tylko daty

Ograniczenia Unison

  • Wolniejszy start – skanowanie obu replik przed każdą synchronizacją
  • Wymaga tej samej wersji po obu stronach – problematyczne przy aktualizacjach
  • Brak obsługi chmury – tylko lokalny system plików i SSH
  • Mniej aktywny rozwój – projekt akademicki, wolniejszy cykl wydań
  • Brak Windows ACL – nie obsługuje specyficznych atrybutów NTFS

6. Szczegółowe Porównanie: rsync vs rclone vs Robocopy vs Unison

Tabela porównawcza – główne cechy

CecharsyncrcloneRobocopyUnison
System operacyjnyLinux, macOS, Windows (WSL)Linux, macOS, WindowsWindows onlyLinux, macOS, Windows
Obsługa chmuryNie(70+ usług)NieNie
Obsługa SSH/SFTPnatywneTakNieTak
Synchronizacja dwukierunkowaNieTak (bisync, beta)NieTak (dojrzałe)
Algorytm delta transfer(najlepszy)(większość backendów)Nie(częściowo)
Obsługa ACL/NTFS(Linux)ograniczona(NTFS pełne)Nie
KompresjaTakTakNieTak
Szyfrowanieprzez SSHwbudowane (Crypt)Nieprzez SSH
GUINieNie (tylko CLI)Nie (RoboMirror)Tak (GTK)
WielowątkowośćNie (single thread)Tak(do 128)Nie
Wykluczenia/filtryTakTak zaawansowaneTakTak
Obsługa konfliktówNieTak – zależy od metody transferuNieTak
LicencjaGPL v3MITWłasnościowaGPL v2
Dojrzałość19962012~20071999

Porównanie wydajności transferu

Wydajność zależy silnie od scenariusza. Oto ogólne tendencje:

Lokalny transfer dużych plików (np. 100 × 1GB):

Robocopy /MT:32  >>>  rclone --transfers=32  >  rsync  ≈  Unison

Transfer zdalny przez SSH (wolne łącze, pliki z drobnymi zmianami):

rsync (delta)  >>>  Unison  >  rclone (SFTP)  >  Robocopy (nie dotyczy)

Synchronizacja z chmurą (S3, GDrive):

rclone --transfers=16  >>>  pozostałe (nie obsługują)

Wiele małych plików (milion plików < 1KB):

rclone (z --fast-list)  >  rsync  >  Robocopy /MT  >  Unison

Porównanie scenariuszy użycia

Scenariusz 1: Backup serwera Linux na zdalny serwer

Zwycięzca: rsync

rsync -avz --delete --exclude='/proc' --exclude='/sys' --exclude='/tmp' \
  / backup@serwer-backup:/backup/$(hostname)/$(date +%Y%m%d)/

rsync minimalizuje transfer dzięki deltom, działa natywnie przez SSH, jest dostępny na każdym serwerze.

Scenariusz 2: Backup danych do chmury (S3, Google Drive)

Zwycięzca: rclone

rclone sync /dane s3:mój-bucket/backup --progress --transfers=16

rclone to jedyne narzędzie z czwórki, które natywnie obsługuje usługi chmurowe.

Scenariusz 3: Migracja danych w środowisku Windows (serwer plików)

Zwycięzca: Robocopy

robocopy \\stary-fs\dane \\nowy-fs\dane /MIR /COPYALL /B /MT:32 /R:5 /W:10

Robocopy bezbłędnie kopiuje uprawnienia NTFS, ACL, atrybuty plików — coś, z czym inne narzędzia mają problem na Windows.

Scenariusz 4: Synchronizacja folderu projektów między laptopem a desktopem

Zwycięzca: Unison

unison ~/projekty ssh://desktop//home/user/projekty -auto -prefer newer

Unison wykrywa zmiany po obu stronach i propaguje je inteligentnie — idealnie dla scenariuszy, gdzie edytujemy pliki na obu maszynach.

Scenariusz 5: Migracja między dwoma chmurami

Zwycięzca: rclone

rclone copy s3:stary-bucket b2:nowy-bucket --transfers=32 --progress

Tylko rclone może bezpośrednio „gadać” z dwoma chmurami jednocześnie.


7. Kiedy Użyć Którego Narzędzia? Tabela Decyzyjna

Masz pliki do synchronizacji/kopiowania
         │
         ├─ Cel to usługa chmurowa? ──────────────────► rclone
         │
         ├─ Pracujesz tylko na Windows? ──────────────► Robocopy
         │
         ├─ Potrzebujesz dwukierunkowej synch.? ──────► Unison
         │
         ├─ Synchronizacja Linux/macOS przez SSH? ────► rsync
         │
         └─ Migracja danych chmura ↔ chmura? ─────────► rclone

Rekomendacje według profilu użytkownika

Administrator Linux/macOS: → rsync do backupów lokalnych i sieciowych, rclone do backupów w chmurze

Administrator Windows: → Robocopy do migracji i backupów lokalnych, rclone do chmury

Deweloper / praca na wielu maszynach: → Unison do synchronizacji projektów między maszynami, rclone do backupu chmurowego

Użytkownik domowy: → rclone (Google Drive/Dropbox) + Unison (między komputerami)

Środowisko CI/CD: → rsync do deploymentu na serwery, rclone do dystrybucji artefaktów


8. Przykłady Użycia i Gotowe Komendy

Automatyczny backup domowy (Linux + cron)

# /etc/cron.d/backup-domowy
0 3 * * * root rsync -avz --delete /home/ backup@nas:/backup/home/ \
  --log-file=/var/log/backup.log 2>&1

Backup do Backblaze B2 z szyfrowaniem (rclone)

# 1. Skonfiguruj backend B2
rclone config  # dodaj "b2" typu b2

# 2. Skonfiguruj backend Crypt na bazie b2
rclone config  # dodaj "b2-crypt" typu crypt, remote=b2:mój-bucket

# 3. Synchronizacja z szyfrowaniem
rclone sync /ważne/dane b2-crypt:/ --progress \
  --log-file=/var/log/rclone-b2.log

Skrypt backupu Windows z Robocopy i rotacją

@echo off
set SOURCE=C:\Dane
set DEST=D:\Backup\%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%
set LOG=C:\Logi\backup-%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%.log

robocopy %SOURCE% %DEST% /E /COPYALL /R:3 /W:30 /MT:16 /LOG:%LOG% /TEE

if %ERRORLEVEL% LEQ 3 (
    echo Backup zakończony sukcesem >> %LOG%
) else (
    echo BŁĄD: Backup zakończony z kodem %ERRORLEVEL% >> %LOG%
    net send Administrator "BŁĄD BACKUPU!"
)

Synchronizacja projektów Git między maszynami (Unison)

# ~/.unison/git-projekty.prf
root = /home/user/projekty
root = ssh://laptop.local//home/user/projekty

ignore = Path */.git/objects
ignore = Name node_modules
ignore = Name __pycache__
ignore = Name *.pyc
ignore = Name .DS_Store

auto = true
batch = true
prefer = newer
log = true
logfile = /var/log/unison-projekty.log

Monitoring i powiadomienia dla rclone

#!/bin/bash
# backup-z-alertem.sh

LOGFILE=/var/log/rclone-$(date +%Y%m%d).log

rclone sync /dane gdrive:backup \
  --log-file=$LOGFILE \
  --log-level INFO \
  --stats-one-line \
  --transfers=8

STATUS=$?
if [ $STATUS -ne 0 ]; then
    mail -s "BŁĄD: Backup rclone nieudany" admin@firma.pl < $LOGFILE
fi

9. Bezpieczeństwo i Szyfrowanie Danych podczas Synchronizacji

rsync + SSH – złoty standard bezpieczeństwa

rsync przez SSH szyfruje całą transmisję. Dodatkowe zabezpieczenia:

# Klucz SSH zamiast hasła
ssh-keygen -t ed25519 -f ~/.ssh/backup_key
ssh-copy-id -i ~/.ssh/backup_key.pub backup@serwer

# rsync z konkretnym kluczem
rsync -av -e "ssh -i ~/.ssh/backup_key -p 2222" /dane/ backup@serwer:/backup/

rclone Crypt – szyfrowanie po stronie klienta

rclone Crypt szyfruje przed przesłaniem – nawet administrator chmury nie ma dostępu do danych:

  • Szyfrowanie: XSalsa20
  • Uwierzytelnienie: Poly1305
  • Nazwy plików: szyfrowane opcjonalnie (utrudnia analizę struktury)
  • Hasło + sól: konfigurowane lokalnie
# Przykład konfiguracji Crypt w rclone.conf
[gdrive-crypt]
type = crypt
remote = gdrive:zaszyfrowane
filename_encryption = standard
directory_name_encryption = true
password = ZASZYFROWANE_HASŁO
password2 = ZASZYFROWANA_SÓL

Weryfikacja integralności po transferze

# rsync – weryfikacja przez checksum
rsync -av --checksum /źródło/ /cel/

# rclone – weryfikacja zgodności
rclone check /lokalne s3:bucket --one-way

# Własna weryfikacja SHA256
find /dane -type f | xargs sha256sum > /tmp/sumy_przed.txt
rsync -av /dane/ /backup/
find /backup -type f | xargs sha256sum > /tmp/sumy_po.txt
diff /tmp/sumy_przed.txt /tmp/sumy_po.txt

10. Wydajność i Benchmarki

Czynniki wpływające na wydajność synchronizacji

  1. Przepustowość sieci – ograniczenie zewnętrzne
  2. Liczba plików vs rozmiar plików – małe pliki = overhead metadanych
  3. Algorytm porównywania – data+rozmiar vs checksum (wolniejsze)
  4. Równoległość – wielowątkowe transfery (rclone, Robocopy)
  5. Kompresja – opłacalna przy wolnym łączu i kompresowalnych danych
  6. Cache VFS – istotne dla rclone mount

Optymalizacja rsync

# Szybszy rsync – tylko data/rozmiar, bez checksum, z kompresją
rsync -av --size-only -z --no-perms /źródło/ /cel/

# Dla wielu małych plików – unikaj skanowania z --checksum
rsync -av --modify-window=2 /źródło/ /cel/

Optymalizacja rclone

# Maksymalna wydajność przy S3
rclone sync /dane s3:bucket \
  --transfers=32 \
  --checkers=64 \
  --s3-upload-concurrency=8 \
  --s3-chunk-size=128M \
  --fast-list \
  --buffer-size=256M \
  --progress

Optymalizacja Robocopy

REM Maksymalna wydajność (SSD-to-SSD lub szybka sieć)
robocopy C:\źródło D:\cel /MIR /Z /MT:64 /BYTES /NP /LOG:log.txt

REM Przy wolnej sieci – zmniejsz wątki, dodaj throttling
robocopy \\serwer\udział D:\lok /MIR /Z /MT:4 /IPG:50 /R:3 /W:5

11. Integracja z Automatyzacją i Harmonogramami Zadań

cron (Linux/macOS)

# Pełny backup nocny o 2:00
0 2 * * * /usr/local/bin/rsync -avz --delete /dane/ backup@nas:/backup/ >> /var/log/backup.log 2>&1

# Synchronizacja z chmurą co 6 godzin
0 */6 * * * /usr/bin/rclone sync /dokumenty gdrive:dokumenty --log-file=/var/log/rclone.log

systemd timer (Linux)

# /etc/systemd/system/backup.service
[Unit]
Description=Nocny backup rsync
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/rsync -avz --delete /dane/ backup@nas:/backup/
User=backup

# /etc/systemd/system/backup.timer
[Unit]
Description=Uruchamia backup o 2:00

[Timer]
OnCalendar=02:00
Persistent=true

[Install]
WantedBy=timers.target
systemctl enable --now backup.timer

Task Scheduler (Windows)

# PowerShell – tworzenie zadania z Robocopy
$action = New-ScheduledTaskAction -Execute "robocopy" `
  -Argument "C:\Dane D:\Backup /MIR /Z /MT:16 /LOG:C:\Logi\backup.log"
$trigger = New-ScheduledTaskTrigger -Daily -At 2am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "NocnyBackup"

GitHub Actions + rclone (CI/CD)

name: Deploy artefaktów do S3

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Zainstaluj rclone
        run: curl https://rclone.org/install.sh | sudo bash
        
      - name: Konfiguruj rclone
        run: |
          mkdir -p ~/.config/rclone
          echo "${{ secrets.RCLONE_CONFIG }}" > ~/.config/rclone/rclone.conf
          
      - name: Synchronizuj z S3
        run: rclone sync ./dist s3:mój-bucket/prod --progress

12. Najczęstsze Błędy i Jak ich Unikać

Błąd 1: Brakujący trailing slash w rsync

# Nie - Kopiuje katalog "dane" DO cel/ → cel/dane/
rsync -av /źródło/dane /cel/

# Tak -  Kopiuje ZAWARTOŚĆ dane/ do cel/
rsync -av /źródło/dane/ /cel/

Zasada: Slash na końcu źródła = „kopiuj zawartość”. Brak slasha = „kopiuj katalog wraz z nazwą”.

Błąd 2: Robocopy ERRORLEVEL w skryptach

REM Nie - Traktuje sukces (kod 1) jako błąd
robocopy src dst /MIR
if errorlevel 1 echo BŁĄD!

REM Tak - Prawidłowe sprawdzanie
robocopy src dst /MIR
if %ERRORLEVEL% GEQ 8 echo BŁĄD!

Błąd 3: rclone sync bez –dry-run

# Nie - Możesz usunąć dane bez sprawdzenia
rclone sync /lokalne s3:bucket

# Tak - Najpierw sprawdź co zostanie zrobione
rclone sync /lokalne s3:bucket --dry-run --verbose
rclone sync /lokalne s3:bucket  # dopiero po weryfikacji

Błąd 4: Unison – różne wersje po obu stronach

# Sprawdź wersje przed synchronizacją
unison -version              # lokalna
ssh serwer unison -version   # zdalna

# Muszą być identyczne!

Błąd 5: Brak testowania odtwarzania z backupu

Backup bez testowania odtwarzania to iluzja bezpieczeństwa. Regularnie wykonuj:

# Test odtwarzania z rsync backup
rsync -avz --dry-run backup@nas:/backup/2024-01-15/ /tmp/test-restore/

# Weryfikacja integralności rclone
rclone check /oryginał s3:bucket/backup --one-way

13. Alternatywy i Narzędzia Uzupełniające

Borg Backup – kompresja + deduplikacja + szyfrowanie

Borg to narzędzie backupowe łączące kompresję, deduplikację i szyfrowanie. Idealne jako uzupełnienie rsync dla backupów historycznych.

# Inicjalizacja
borg init --encryption=repokey /backup/repo

# Tworzenie snapshotu
borg create /backup/repo::$(date +%Y%m%d) /dane

# Usuwanie starych snapshotów
borg prune /backup/repo --keep-daily=7 --keep-weekly=4 --keep-monthly=12

Restic – nowoczesny backup z deduplikacją

Restic to alternatywa dla Borg z lepszą obsługą chmury (współpracuje z rclone jako backendem).

Syncthing – P2P synchronizacja bez serwera

Syncthing oferuje dwukierunkową synchronizację bez centralnego serwera — idealne dla prywatności.

rsnapshot – snapshotowe backupy na bazie rsync

rsnapshot buduje strukturę snapshotów (daily/weekly/monthly) używając rsync i hardlinków.

Lsyncd – synchronizacja w czasie rzeczywistym

lsyncd (Live Syncing Daemon) monitoruje zmiany przez inotify/kqueue i wywołuje rsync natychmiast po modyfikacji.


14. Podsumowanie i Rekomendacje

Po dogłębnej analizie czterech narzędzi można sformułować jasne rekomendacje:

Ranking ogólny

NarzędzieNajlepsze zastosowanieOcena
rsyncBackup Linux/macOS, serwery, scripiting5/5
rcloneChmura, migracje, szyfrowanie5/5
RobocopyWindows enterprise, migracja NTFS4/5
UnisonSync dwukierunkowy, multi-device4/5

Finalne rekomendacje

Jeśli masz tylko jeden wybór:

  • Linux/macOS + backup lokalny/sieciowyrsync
  • Cokolwiek + chmurarclone
  • Windows enterpriseRobocopy
  • Wiele maszyn, dwukierunkowa syncUnison

Optymalna kombinacja dla większości użytkowników:

rsync (backup lokalny i sieciowy)
  +
rclone (backup w chmurze + szyfrowanie)
  +
Unison (sync między własnymi maszynami)

Narzędzia te nie są konkurencją — są uzupełnieniem. Profesjonalna strategia backupu 3-2-1 (3 kopie, 2 nośniki, 1 poza siedzibą) prawie zawsze wymaga kombinacji kilku narzędzi.


15. FAQ – Najczęściej Zadawane Pytania

Czy rsync działa na Windows?

Tak, ale nie natywnie. rsync na Windows wymaga WSL2 (Windows Subsystem for Linux), Cygwin lub MSYS2. Alternatywnie można użyć DeltaCopy — wrappera rsync dla Windows lub po prostu rclone, który działa natywnie na Windows i oferuje podobną funkcjonalność.

Czy rclone zastępuje rsync?

Nie w pełni. rclone jest niezrównanym narzędziem do pracy z chmurą, ale brak algorytmu delta oznacza, że przy synchronizacji dużych plików z małymi zmianami rsync przesyła znacznie mniej danych. Dla środowisk czysto lokalnych lub SSH, rsync jest efektywniejszy.

Jak zsynchronizować dwa foldery w obie strony za pomocą rsync?

rsync nie obsługuje natywnie dwukierunkowej synchronizacji. Można symulować to dwoma wywołaniami rsync (z ryzykiem konfliktów) lub użyć Unison albo rclone bisync (wciąż beta).

Czy Robocopy jest darmowy?

Tak. Robocopy jest częścią Windows i nie wymaga zakupu licencji. Jest dostępny bezpłatnie na wszystkich wspieranych wersjach Windows i Windows Server.

Jak rclone obsługuje pliki ponad 5GB w Google Drive?

rclone automatycznie obsługuje pliki ponad limitem przez chunking (podział na części). Nie wymaga to żadnej dodatkowej konfiguracji — działa transparentnie.

Czy Unison działa bez sieci?

Tak — Unison działa lokalnie między dwoma katalogami na tym samym komputerze lub zamontowanymi udziałami sieciowymi. SSH jest wymagane tylko przy synchronizacji ze zdalną maszyną.

Jakie jest najlepsze narzędzie do backupu NAS?

Dla NAS (Synology, QNAP, TrueNAS): rsync jest wbudowany w większość urządzeń NAS i jest domyślnym wyborem. rclone jest polecany, gdy chcesz zbackupować NAS do chmury.

rsync vs rclone – co jest szybsze?

Zależy od scenariusza. rsync jest szybszy przy aktualizacji dużych plików z małymi zmianami (delta transfer). rclone jest szybszy przy kopiowaniu wielu plików (wielowątkowość) i przy pracy z chmurą. Dla transferów S3-to-S3 lub GDrive-to-GDrive, rclone nie ma sobie równych.


Zasoby i Dokumentacja


Artykuł zaktualizowany: czerwiec 2026 | Autoryzowane do użytku na zasadach Creative Commons CC BY-SA 4.0

 
Sprawdź szczegóły:
 
 
 
 

Promocja na kursy n8n, Terraform i Anisble + AI dla Administratora 800 zł taniej

X