Jak skonfigurować Rclone z Google Drive na serwerze bez monitora (Headless)
Kopia zapasowa serwera (np. Raspberry Pi) bezpośrednio na Google Drive to świetny sposób na zabezpieczenie danych. Najlepszym narzędziem do tego celu jest Rclone. Konfiguracja na serwerze typu „headless” (bez interfejsu graficznego i przeglądarki) bywa jednak problematyczna ze względu na autoryzację Google.
W tym poradniku przejdziemy przez niezawodną metodę: tworzenie własnego projektu Google Cloud Platform (GCP), autoryzację na komputerze lokalnym i przeniesienie konfiguracji na serwer.
Faza 1: Tworzenie projektu GCP (Omijanie limitów)
Korzystanie z domyślnego klucza Rclone oznacza współdzielenie przepustowości z tysiącami użytkowników. Oto jak stworzyć własny klucz:
- Utwórz projekt: Wejdź na Google Cloud Console, rozwiń listę projektów i wybierz Nowy projekt.
- Włącz API: Wyszukaj Google Drive API i kliknij Włącz.
- Ekran zgody OAuth:
- Przejdź do Interfejsy API i usługi > Ekran zgody OAuth.
- Wybierz typ użytkownika Zewnętrzny.
- Wypełnij wymagane pola.
- W sekcji „Zakresy” (Scopes) dodaj
.../auth/drive, aby rclone mógł zarządzać plikami. - W sekcji „Użytkownicy testowi” dodaj swój własny adres e-mail.
- Utwórz dane logowania:
- Przejdź do zakładki Dane logowania.
- Kliknij Utwórz dane logowania > Identyfikator klienta OAuth.
- Kluczowy krok: Jako typ aplikacji wybierz Aplikacja na komputer (Desktop app). Unikniesz dzięki temu problemów z URL przekierowania.
- Skopiuj wygenerowany Client ID oraz Client Secret.
Faza 2: Lokalna autoryzacja
Ponieważ Twój serwer nie ma przeglądarki, wygenerujemy token na głównym komputerze (Windows/Mac/Linux).
- Zainstaluj Rclone na lokalnym PC.
- Otwórz terminal i wpisz
rclone config. - Wybierz
n(New remote) i nadaj nazwę (np.gdrive). - Wybierz
drivejako typ. - Wklej swoje Client ID oraz Client Secret.
- Na pytanie
Use auto config?odpowiedzy(Tak). - Otworzy się przeglądarka. Zaloguj się i zezwól na dostęp.
- W terminalu pojawi się blok kodu JSON. Skopiuj go w całości.
Faza 3: Konfiguracja serwera
Teraz logujemy się na serwer (przez SSH).
- Zainstaluj Rclone (
sudo apt install rclone). - Uruchom
rclone config. - Stwórz nowy remote (
n), użyj dokładnie tej samej nazwy co lokalnie (gdrive), wybierzdrivei wklej ID oraz Secret. - Przy pytaniu
Use auto config?wybierz tym razemn(Nie). - Gdy zostaniesz poproszony o kod autoryzacji, wklej cały skopiowany wcześniej blok JSON.
- Zapisz. Przetestuj wpisując
rclone lsd gdrive:. Powinieneś zobaczyć swoje foldery!
Faza 4: Automatyzacja backupów
Stwórz skrypt o nazwie backup.sh:
Bash
#!/bin/bash
BACKUP_DIR="/sciezka/do/lokalnego/backupu"
DATE=$(date +%Y-%m-%d)
REMOTE="gdrive:KopieZapasowe"
# Wykonanie kopii
tar -czf "$BACKUP_DIR/dane_$DATE.tar.gz" /var/www/html
# Wysyłka na Google Drive (Rclone sam utworzy folder)
rclone copy "$BACKUP_DIR/dane_$DATE.tar.gz" "$REMOTE"
# Usuwanie starych kopii z chmury (zostawiamy 7 dni)
rclone delete "$REMOTE" --min-age 7d
Nadaj uprawnienia do wykonywania (chmod +x backup.sh) i dodaj do harmonogramu (crontab -e). Twój serwer jest teraz bezpieczny!