Kopia zapasowa VPS do OneDrive: (rclone, szyfrowanie, automatyzacja)

Najlepszym i najbardziej uniwersalnym sposobem na wykonanie kopii zapasowej z serwera VPS do Microsoft OneDrive jest użycie narzędzia rclone — darmowego programu wiersza poleceń, który obsługuje ponad 70 usług chmurowych, w tym OneDrive. Proces składa się z czterech kroków: instalacji rclone, autoryzacji konta OneDrive, skonfigurowania zadania backupu (najlepiej z szyfrowaniem po stronie klienta) oraz automatyzacji za pomocą crona lub systemd timer.

Poniższy artykuł opisuje ten proces szczegółowo — od zera, bez zakładania wcześniejszej wiedzy — tak aby mogła z niego skorzystać każda osoba administrująca serwerem VPS, niezależnie od dystrybucji Linuksa czy poziomu zaawansowania.


Promocja na kursy n8n i AI dla Administratora
Naucz się automatyzować powtarzalne zadania, integrować systemy, tworzyć workflow z AI oraz budować agentów i rozwiązania RAG.
Sprawdź szczegóły:
 
 
 

Spis treści

  1. Dlaczego warto robić backup VPS do OneDrive
  2. Czym jest rclone i dlaczego to najlepsze narzędzie do tego zadania
  3. Wymagania wstępne
  4. Krok 1: Instalacja rclone na VPS
  5. Krok 2: Konfiguracja i autoryzacja konta OneDrive
  6. Krok 3: Pierwszy test transferu plików
  7. Krok 4: Tworzenie kopii zapasowej bazy danych (MySQL/MariaDB/PostgreSQL)
  8. Krok 5: Szyfrowanie kopii zapasowej (rclone crypt)
  9. Krok 6: Skrypt automatyzujący cały proces backupu
  10. Krok 7: Automatyzacja za pomocą crona
  11. Krok 7 (alternatywa): Automatyzacja za pomocą systemd timer
  12. Polityka retencji — usuwanie starych kopii
  13. Jak przywrócić dane z kopii zapasowej (restore)
  14. Limity OneDrive, o których trzeba wiedzieć
  15. Najczęstsze błędy i jak ich unikać
  16. Alternatywy dla rclone
  17. FAQ — najczęściej zadawane pytania
  18. Podsumowanie

1. Dlaczego warto robić backup VPS do OneDrive

Serwery VPS (Virtual Private Server) nie są odporne na awarie. Dostawca hostingu może paść ofiarą awarii sprzętowej, błędu administracyjnego, ataku ransomware czy zwykłego błędu ludzkiego — w tym własnego, np. przypadkowego rm -rf. Lokalne snapshoty oferowane przez dostawców VPS to dobry pierwszy krok, ale nie zastępują kopii zapasowej przechowywanej poza infrastrukturą dostawcy (tzw. backup off-site).

OneDrive jest atrakcyjnym miejscem docelowym dla takiej kopii z kilku powodów:

  • Koszt — wiele osób i firm ma już wykupioną przestrzeń OneDrive w ramach subskrypcji Microsoft 365, więc dodatkowe miejsce na backup nie generuje nowych kosztów.
  • Niezależność od dostawcy VPS — dane trafiają do zupełnie innej infrastruktury (Microsoft Azure), co spełnia zasadę backupu 3-2-1 (3 kopie danych, 2 różne nośniki, 1 kopia poza siedzibą).
  • Dostępność z każdego miejsca — pliki można łatwo podejrzeć, pobrać lub udostępnić przez przeglądarkę albo aplikację mobilną.
  • Integracja z ekosystemem Microsoft — przydatne w środowiskach firmowych korzystających już z Azure AD / Entra ID i pakietu Office.

2. Czym jest rclone i dlaczego to najlepsze narzędzie do tego zadania

Rclone to open-source’owe narzędzie wiersza poleceń, które działa jak „rsync dla chmury”. Pozwala kopiować, synchronizować i szyfrować pliki pomiędzy lokalnym dyskiem a dziesiątkami usług chmurowych — Google Drive, Dropbox, Amazon S3, Backblaze B2 i właśnie OneDrive.

Rclone jest wybierane do backupu VPS najczęściej z następujących powodów:

  • Brak GUI, pełna automatyzacja — idealne do uruchamiania w cronie lub jako usługa systemd, bez potrzeby klikania w interfejsie.
  • Wbudowane szyfrowanie po stronie klienta (rclone crypt) — Microsoft nigdy nie widzi zawartości plików w postaci jawnej.
  • Wsparcie dla dużych plików i wznawiania transferu — istotne przy backupach baz danych liczących wiele gigabajtów.
  • Aktywny rozwój i szerokie wsparcie społeczności — rclone jest standardem branżowym do tego typu zadań od wielu lat.
  • Darmowa licencja (MIT) — brak opłat licencyjnych niezależnie od skali wykorzystania.

3. Wymagania wstępne

Przed rozpoczęciem upewnij się, że posiadasz:

  • Dostęp SSH do serwera VPS z uprawnieniami sudo (lub root).
  • Konto Microsoft z aktywną usługą OneDrive (osobiste lub firmowe — proces autoryzacji różni się nieznacznie).
  • Podstawową znajomość terminala Linux.
  • Wystarczającą ilość wolnego miejsca na koncie OneDrive w stosunku do rozmiaru danych, które chcesz zabezpieczyć.

Instrukcje poniżej są uniwersalne i sprawdzą się na Ubuntu, Debianie, AlmaLinux, Rocky Linux czy CentOS — różnice dotyczą wyłącznie menedżera pakietów przy instalacji.

4. Krok 1: Instalacja rclone na VPS

Najprostszym i zalecanym sposobem instalacji jest oficjalny skrypt instalacyjny, który automatycznie wykrywa architekturę systemu i instaluje najnowszą stabilną wersję:

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

Po instalacji sprawdź poprawność działania:

rclone version

Alternatywnie, na systemach z apt można zainstalować wersję z repozytorium (uwaga: bywa starsza niż wersja z oficjalnego skryptu):

sudo apt update
sudo apt install rclone -y

5. Krok 2: Konfiguracja i autoryzacja konta OneDrive

Konfigurację uruchamia się poleceniem:

rclone config

Kreator poprowadzi przez kilka pytań:

  1. Wybierz n (new remote) i nadaj nazwę, np. onedrive.
  2. Jako typ magazynu wybierz numer odpowiadający Microsoft OneDrive.
  3. Pola client_id i client_secret zwykle można pozostawić puste (Enter) — rclone użyje własnych, domyślnych danych aplikacji.
  4. Na pytanie o typ konta wskaż odpowiednią opcję (konto osobiste / firmowe / SharePoint).
  5. Autoryzacja przez przeglądarkę: jeśli VPS nie ma środowiska graficznego (co jest normą), rclone zaproponuje tryb rclone authorize. Wykonaj wtedy na swoim komputerze lokalnym Windows/Powershell (nie na VPS) polecenie:
\.rclone authorize "onedrive"

To polecenie otworzy przeglądarkę, poprosi o zalogowanie się na konto Microsoft i wygeneruje token w formacie JSON. Skopiuj cały wygenerowany token i wklej go z powrotem do kreatora rclone config uruchomionego na VPS.

  1. Po zakończeniu kreatora wybierz właściwy dysk (Drive), jeśli konto ma dostęp do więcej niż jednego (np. SharePoint), a następnie zatwierdź konfigurację (y) i zapisz (q, aby wyjść z kreatora).

Poprawność połączenia sprawdzisz komendą:

rclone lsd onedrive:

Powinna wyświetlić się lista folderów znajdujących się w głównym katalogu OneDrive.

6. Krok 3: Pierwszy test transferu plików

Zanim zautomatyzujesz cały proces, warto ręcznie przetestować kopiowanie pojedynczego pliku:

echo "test backupu" > /tmp/test.txt
rclone copy /tmp/test.txt onedrive:/vps-backup-test/
rclone ls onedrive:/vps-backup-test/

Jeśli plik pojawi się na liście, konfiguracja działa poprawnie i można przejść do właściwego backupu.

7. Krok 4: Tworzenie kopii zapasowej bazy danych (MySQL/MariaDB/PostgreSQL)

Backup samych plików to zwykle za mało — w większości aplikacji webowych (WordPress, Nextcloud, sklepy internetowe) kluczowe dane znajdują się w bazie danych. Bazę należy najpierw wyeksportować do pliku, zanim trafi on do chmury.

MySQL / MariaDB:

mysqldump -u root -p --all-databases | gzip > /root/backup/db_$(date +%F).sql.gz

Dla pojedynczej bazy danych:

mysqldump -u root -p nazwa_bazy | gzip > /root/backup/nazwa_bazy_$(date +%F).sql.gz

PostgreSQL:

pg_dumpall -U postgres | gzip > /root/backup/db_$(date +%F).sql.gz

Dane logowania do bazy najlepiej trzymać w pliku ~/.my.cnf (dla MySQL) z odpowiednimi uprawnieniami (chmod 600), aby uniknąć wpisywania hasła w skrypcie w formie jawnej.

8. Krok 5: Szyfrowanie kopii zapasowej (rclone crypt)

Ponieważ backup może zawierać dane wrażliwe (hasła, dane klientów, klucze API), zalecane jest szyfrowanie plików przed wysłaniem ich do OneDrive. Rclone oferuje do tego dedykowany „remote” typu crypt, który szyfruje pliki i nazwy plików po stronie serwera, zanim trafią do chmury — Microsoft otrzymuje wyłącznie zaszyfrowane dane.

Konfiguracja:

rclone config
  • Wybierz n (nowy remote), nadaj nazwę np. onedrive-crypt.
  • Jako typ wybierz crypt.
  • Jako zdalny magazyn docelowy wskaż wcześniej skonfigurowany onedrive:/backup-encrypted (podfolder zostanie utworzony automatycznie).
  • Wybierz sposób szyfrowania nazw plików (zalecane: standard, czyli pełne szyfrowanie nazw).
  • Ustaw hasło szyfrujące (password) oraz opcjonalną drugą frazę (salt) — rclone może je wygenerować losowo.

Kluczowe: zapisz hasło i salt w bezpiecznym miejscu (menedżer haseł) — bez nich odzyskanie zaszyfrowanych danych nie jest możliwe, nawet dla samego rclone.

Od tej pory pliki wysyła się nie na onedrive:, lecz na skonfigurowany remote onedrive-crypt:, np.:

rclone copy /root/backup onedrive-crypt:/ --progress

9. Krok 6: Skrypt automatyzujący cały proces backupu

Poniższy skrypt łączy eksport bazy danych, archiwizację katalogów aplikacji i wysyłkę do OneDrive w jednym pliku. Zapisz go np. jako /root/scripts/backup-to-onedrive.sh:

#!/bin/bash
set -euo pipefail

# --- Konfiguracja ---
DATE=$(date +%F_%H-%M)
BACKUP_DIR="/root/backup"
REMOTE="onedrive-crypt:/vps-backup"
DB_USER="root"
APP_DIRS="/var/www /etc/nginx"
LOG_FILE="/var/log/backup-onedrive.log"

mkdir -p "$BACKUP_DIR"

echo "[$DATE] Rozpoczynam backup" >> "$LOG_FILE"

# --- Backup bazy danych ---
mysqldump -u "$DB_USER" -p"$(cat /root/.db_password)" --all-databases \
  | gzip > "$BACKUP_DIR/db_$DATE.sql.gz"

# --- Archiwizacja katalogów aplikacji ---
tar -czf "$BACKUP_DIR/files_$DATE.tar.gz" $APP_DIRS

# --- Wysyłka do OneDrive (zaszyfrowana) ---
rclone copy "$BACKUP_DIR" "$REMOTE" \
  --transfers 4 \
  --checkers 8 \
  --log-file="$LOG_FILE" \
  --log-level INFO

# --- Czyszczenie lokalnych plików tymczasowych ---
find "$BACKUP_DIR" -type f -mtime +1 -delete

echo "[$DATE] Backup zakończony pomyślnie" >> "$LOG_FILE"

Nadaj uprawnienia do wykonania:

chmod +x /root/scripts/backup-to-onedrive.sh

10. Krok 7: Automatyzacja za pomocą crona

Aby backup wykonywał się automatycznie, np. każdej nocy o 2:30, edytuj crontab roota:

sudo crontab -e

I dodaj linię:

30 2 * * * /root/scripts/backup-to-onedrive.sh >> /var/log/backup-onedrive.log 2>&1

Zapis oznacza: uruchom skrypt codziennie o 2:30 w nocy, a wynik (w tym ewentualne błędy) dopisuj do pliku logu.

10. Krok 7 (alternatywa): Automatyzacja za pomocą systemd timer

Systemd timer to nowocześniejsza alternatywa dla crona, oferująca lepsze logowanie (przez journalctl) i większą elastyczność. Utwórz dwa pliki:

/etc/systemd/system/backup-onedrive.service:

[Unit]
Description=Backup VPS do OneDrive

[Service]
Type=oneshot
ExecStart=/root/scripts/backup-to-onedrive.sh

/etc/systemd/system/backup-onedrive.timer:

[Unit]
Description=Uruchamia backup do OneDrive codziennie o 2:30

[Timer]
OnCalendar=*-*-* 02:30:00
Persistent=true

[Install]
WantedBy=timers.target

Aktywacja:

sudo systemctl daemon-reload
sudo systemctl enable --now backup-onedrive.timer

Sprawdzenie statusu i historii uruchomień:

systemctl list-timers | grep backup-onedrive
journalctl -u backup-onedrive.service

12. Polityka retencji — usuwanie starych kopii

Bez limitu retencji backupy będą bezterminowo zapełniać przestrzeń OneDrive. Rclone pozwala łatwo usuwać pliki starsze niż określony okres bezpośrednio w chmurze:

rclone delete onedrive-crypt:/vps-backup --min-age 30d

To polecenie usunie z OneDrive pliki starsze niż 30 dni, zachowując nowsze kopie. Warto dodać tę linię na końcu skryptu z Kroku 6, aby retencja utrzymywała się automatycznie przy każdym uruchomieniu.

Popularna, bezpieczna strategia retencji to tzw. GFS (Grandfather-Father-Son):

  • kopie dzienne przechowywane przez 7 dni,
  • kopie tygodniowe przechowywane przez 4 tygodnie,
  • kopie miesięczne przechowywane przez 12 miesięcy.

13. Jak przywrócić dane z kopii zapasowej (restore)

Odtwarzanie danych to proces odwrotny do backupu:

# Pobranie zaszyfrowanych plików z OneDrive na VPS
rclone copy onedrive-crypt:/vps-backup /root/restore --progress

# Rozpakowanie archiwum plików
tar -xzf /root/restore/files_2026-08-03_02-30.tar.gz -C /

# Odtworzenie bazy danych
gunzip < /root/restore/db_2026-08-03_02-30.sql.gz | mysql -u root -p

Ponieważ pliki są odszyfrowywane automatycznie podczas pobierania przez remote typu crypt, po stronie serwera VPS pojawią się od razu w formie odszyfrowanej, gotowej do użycia.

14. Limity OneDrive, o których trzeba wiedzieć

Przed poleganiem na OneDrive jako jedynym miejscu backupu warto znać jego ograniczenia:

  • Maksymalny rozmiar pojedynczego pliku zależy od typu konta (zwykle do 250 GB w przypadku kont OneDrive dla Firm/Microsoft 365, mniej w starszych planach osobistych) — rclone automatycznie dzieli duże transfery na fragmenty (chunki), ale bardzo duże pojedyncze pliku (np. ogromne archiwum bazy danych) mogą wymagać podziału na mniejsze części.
  • Limity API (throttling) — Microsoft może tymczasowo ograniczać liczbę zapytań przy bardzo dużej liczbie małych plików; rclone obsługuje to poprzez automatyczne ponawianie prób (retry) z opóźnieniem.
  • Przestrzeń dyskowa — plan bezpłatny oferuje zwykle 5 GB, co dla realnego backupu serwera jest zwykle niewystarczające — warto rozważyć plan płatny (Microsoft 365 Personal/Family lub Business).
  • Brak natywnej wersji CLI od Microsoftu — stąd konieczność korzystania z narzędzi trzecich takich jak rclone.

15. Najczęstsze błędy i jak ich unikać

  • Brak szyfrowania danych wrażliwych — nigdy nie wysyłaj do chmury zewnętrznej surowych zrzutów baz danych zawierających dane osobowe czy hasła bez szyfrowania.
  • Brak testów odtwarzania — kopia zapasowa, która nigdy nie została przetestowana pod kątem przywracania, nie jest pewną kopią zapasową.
  • Backup tylko plików, bez bazy danych (lub odwrotnie) — pełny backup aplikacji webowej wymaga obu elementów jednocześnie, wykonanych spójnie w czasie.
  • Brak polityki retencji — prowadzi do niekontrolowanego wzrostu zużycia przestrzeni w chmurze.
  • Przechowywanie tokenu autoryzacyjnego rclone bez zabezpieczeń — plik rclone.conf powinien mieć ograniczone uprawnienia (chmod 600), ponieważ zawiera dane dostępowe do konta OneDrive.
  • Brak monitorowania statusu zadania — bez powiadomień awaria backupu może pozostać niezauważona przez długi czas.

16. Alternatywy dla rclone

Choć rclone jest najczęściej wybieranym rozwiązaniem, warto znać alternatywy:

  • OneDrive Client for Linux (abraunegg/onedrive) — narzędzie dedykowane wyłącznie OneDrive, działające bardziej jak synchronizacja folderu niż jednorazowe zadanie kopiowania; dobre, gdy potrzebna jest ciągła, dwukierunkowa synchronizacja.
  • Restic / Duplicati z backendem rclone — narzędzia do backupu z deduplikacją i przyrostowym zapisem danych, które mogą korzystać z rclone jako „transportu” do OneDrive, oferując dodatkowo kompresję i wersjonowanie na poziomie samego narzędzia backupowego.
  • Gotowe panele hostingowe (np. cPanel, Plesk) — niektóre oferują wtyczki integrujące backup bezpośrednio z chmurami Microsoft, choć zwykle z mniejszą elastycznością niż rozwiązanie oparte na rclone.

17. FAQ — najczęściej zadawane pytania

Czy backup do OneDrive jest bezpieczny?

Tak, pod warunkiem zastosowania szyfrowania po stronie klienta (np. rclone crypt) przed wysłaniem danych. Bez szyfrowania dane są przechowywane w formie czytelnej dla każdego, kto uzyska dostęp do konta Microsoft.

Czy rclone jest darmowy?

Tak, rclone jest projektem open-source na licencji MIT i można go używać bezpłatnie, zarówno prywatnie, jak i komercyjnie.

Jak duży plik mogę wysłać na OneDrive przez rclone?

Zależy to od typu konta Microsoft — konta biznesowe/Microsoft 365 pozwalają zwykle na pliki do 250 GB, konta osobiste mogą mieć niższe limity. Rclone obsługuje transfer dużych plików w częściach (chunked upload).

Czy mogę zautomatyzować backup bez crona?

Tak — alternatywą jest systemd timer, opisany w Kroku 7, który oferuje lepsze logowanie i większą kontrolę nad harmonogramem.

Co się stanie, jeśli zapomnę hasła do rclone crypt?

Dane zaszyfrowane w ten sposób stają się nieodzyskiwalne — hasło i „salt” należy przechowywać w bezpiecznym, oddzielnym miejscu, np. w menedżerze haseł.

Czy OneDrive nadaje się jako jedyne miejsce backupu?

Zalecaną praktyką jest stosowanie zasady 3-2-1 (co najmniej trzy kopie danych, na dwóch różnych nośnikach, jedna poza siedzibą) — OneDrive może być jedną z tych kopii, ale nie powinien być jedynym miejscem przechowywania krytycznych danych.

18. Podsumowanie

Skonfigurowanie automatycznej, szyfrowanej kopii zapasowej z VPS do OneDrive za pomocą rclone to proces, który — mimo pozornej złożoności — sprowadza się do czterech powtarzalnych kroków: instalacji narzędzia, jednorazowej autoryzacji konta, przygotowania skryptu łączącego eksport bazy danych i plików aplikacji oraz zaplanowania go w cronie lub systemd timer. Kluczowe dla bezpieczeństwa jest szyfrowanie danych przed wysyłką (rclone crypt) oraz regularne testowanie procesu przywracania danych — backup, który nigdy nie został odtworzony próbnie, nie daje pewności, że zadziała w chwili rzeczywistej awarii.

Wdrożenie powyższego rozwiązania zajmuje zwykle mniej niż godzinę, a w zamian zapewnia niezależną od dostawcy VPS, zaszyfrowaną kopię danych, dostępną z dowolnego miejsca na świecie.

 

Promocja na kursy n8n i AI dla Administratora

Naucz się automatyzować powtarzalne zadania, integrować systemy, tworzyć workflow z AI oraz budować agentów i rozwiązania RAG.
Sprawdź szczegóły:
 
 
 

Promocja na kursy n8n i AI dla Administratora

X