Jak używać rclone do tworzenia kopii zapasowych na Dysku Google w systemie Linux

Photo of author

By maciekx

Nadal brakuje oficjalnego klienta Google Drive dla systemu Linux, jednak istnieje możliwość tworzenia kopii zapasowych na Dysku Google za pomocą narzędzia rclone, które działa z poziomu wiersza poleceń. W tym artykule przedstawimy, jak to zrealizować.

Gdzie znaleźć Dysk Google w systemie Linux?

Choć w 2012 roku zapowiedziano wsparcie dla Linuksa, Google jak dotąd nie stworzył natywnego klienta Google Drive dla tego systemu operacyjnego. Istnieją jednak nieoficjalne rozwiązania firm trzecich, takie jak Insync, overGrive oraz ODrive. Dodatkowo, niektóre menedżery plików, jak Nautilus w GNOME, umożliwiają integrację z Dyskiem Google.

Większość aplikacji zewnętrznych to oprogramowanie komercyjne, które wymaga zakupu lub subskrypcji. Ich działanie jest zadowalające, a ceny nie są wygórowane. Z kolei overGrive oferuje również darmową wersję z ograniczoną funkcjonalnością.

Jeśli chcesz jednak korzystać z wiersza poleceń do tworzenia i zarządzania kopiami zapasowymi, istnieje doskonałe narzędzie o nazwie rclone. Umożliwia ono tworzenie kopii zapasowych, pobieranie i synchronizowanie plików z ponad czterdziestoma różnymi usługami chmurowymi. Można je porównać do rsync dla chmury.

Jak zainstalować rclone?

rclone najprawdopodobniej nie jest domyślnie zainstalowane w Twoim systemie Linux. Na szczęście istnieje skrypt instalacyjny, który działa na różnych dystrybucjach. Instalacja wymaga użycia curl. Na komputerach używanych do przygotowania tego artykułu, takich jak Fedora 31 i Manjaro 18.1.0, curl był już dostępny, natomiast w Ubuntu 18.04 LTS musiał zostać zainstalowany.

Aby zainstalować curl w systemie Ubuntu, użyj polecenia:

sudo apt-get install curl

Po zainstalowaniu curl, zainstaluj rclone, wykonując to polecenie:

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

Po zakończeniu instalacji rclone pojawi się komunikat potwierdzający jej pomyślne zakończenie.

Tym samym rclone jest zainstalowane na Twoim systemie Linux. Kolejnym krokiem jest skonfigurowanie rclone oraz uzyskanie dostępu do Dysku Google.

Jak skonfigurować zdalne połączenie w rclone?

W rclone połączenia z zewnętrznymi usługami w chmurze określane są jako „pilot”. Musimy utworzyć taki dla Dysku Google. Rozpocznij proces konfiguracji, wpisując następujące polecenie:

rclone config

Podczas konfiguracji zostaniesz poproszony o odpowiedzi na kilka pytań. Nie martw się, wiele z nich można pozostawić w domyślnych ustawieniach, po prostu naciskając „Enter”.

rclone poinformuje Cię, że nie posiadasz skonfigurowanych pilotów. Naciśnij „n” i „Enter”, aby utworzyć nowego pilota. Zostaniesz poproszony o podanie nazwy. Możesz nazwać to „dysk Google” lub wybrać dowolną inną nazwę.

Pojawi się długie menu, w którym będziesz musiał wybrać typ magazynu, z którym chcesz się połączyć.

Przewiń listę, aż znajdziesz wpis dotyczący Dysku Google, i zapisz jego numer.

W tym przypadku jest to numer 13. Wpisz ten numer jako typ magazynu i naciśnij „Enter”.

Następnie zostaniesz poproszony o podanie identyfikatora klienta aplikacji Google. Aby zaakceptować domyślne ustawienie, naciśnij „Enter”.

Zostaniesz również poproszony o podanie klucza klienta aplikacji Google.

Również w tym przypadku naciśnij „Enter”. Następnie zostaniesz poproszony o podanie zakresu, na którym rclone będzie działać na Twoim Dysku Google. Wybierz „1” i naciśnij „Enter”.

Aby przyjąć domyślne „ID folderu głównego”, po prostu naciśnij „Enter”.

Na pytanie o „Credentials for Service Account” naciśnij „Enter”.

Na pytanie o „Edytuj konfigurację zaawansowaną” także naciśnij „Enter”. Kiedy pojawi się menu „Użyj automatycznej konfiguracji”, wybierz „y” i naciśnij „Enter”.

To spowoduje, że rclone spróbuje połączyć się z Twoim Dyskiem Google i otworzy przeglądarkę, abyś mógł zezwolić na dostęp rclone do Twojego Dysku Google.

W przeglądarce wybierz konto Google, z którego chcesz skorzystać.

Kliknij przycisk „Zezwól”, aby umożliwić rclone dostęp do Twojego Dysku Google.

Po zakończeniu procesu uwierzytelniania w przeglądarce zobaczysz komunikat „Sukces!”. Możesz zamknąć przeglądarkę i wrócić do terminala.

Na pytanie o „Skonfiguruj jako dysk zespołowy” wpisz „n” i naciśnij „Enter”.

W menu „Tak, edytuj, usuń” wpisz „y” i naciśnij „Enter”.

Na koniec w ostatnim menu wpisz „q” i naciśnij „Enter”.

Tworzenie skryptu do kopii zapasowej w rclone

Rclone to narzędzie bogate w funkcje. To może być korzystne, jednak oznacza to, że istnieje wiele opcji. W poniższym poleceniu kopiujemy pliki z lokalnego systemu na Dysk Google. To polecenie wykonuje jednokierunkową kopię do chmury; nie jest to dwukierunkowa synchronizacja między Twoim Dyskiem Google a lokalnym systemem – chociaż rclone ma taką możliwość. Używamy tego jako podstawowej metody zdalnego tworzenia kopii zapasowych.

Wprowadź (lub skopiuj i wklej) poniższe polecenie do edytora tekstu i zapisz je na swoim komputerze. Nazwijmy ten plik gbk.sh, ale możesz wybrać dowolną nazwę.

#!/bin/bash

/usr/bin/rclone copy --update --verbose --transfers 30 --checkers 8 --contimeout 60s --timeout 300s --retries 3 --low-level-retries 10 --stats 1s "/home/dave/Documents" "google-drive:LinuxDocs"

Oto, co oznaczają poszczególne parametry:

copy: Kopiuje pliki z lokalnego systemu do zdalnego magazynu, pomijając pliki, które już tam są.
–update: Pomija pliki, które są nowsze w zdalnym magazynie niż w lokalnym systemie.
–verbose: Wyświetla szczegóły dotyczące przesyłanych plików.
–transfers 30: Ustawia liczbę plików, które będą kopiowane jednocześnie.
–checkers 8: Liczba „warcabów” działających równolegle, które monitorują aktywne transfery.
–contimeout 60s: Czas oczekiwania na połączenie. Ustala limit czasu, w którym rclone będzie próbować połączyć się z zdalnym magazynem.
–timeout 300s: Jeśli transfer nie jest aktywny przez ten czas, zostanie uznany za przerwany i zakończony.
–retries 3: Po tym, ile błędów wystąpi, operacja kopiowania zostanie wznowiona.
–low-level-retries 10: Liczba powtórzeń dla pojedynczych operacji zakończonych niepowodzeniem, takich jak żądania HTTP. Ta wartość określa maksymalną liczbę prób.
–stats 1s: rclone może dostarczać statystyki dotyczące przesyłanych plików, co ustawia częstotliwość aktualizacji statystyk na jedną sekundę.
„/home/dave/Documents”: lokalny katalog, z którego będziemy kopiować do zdalnego magazynu.
„google-drive:LinuxDocs”: zdalny katalog docelowy. Zwróć uwagę na zastosowanie „google-drive”, które jest nazwą, którą nadaliśmy temu zdalnemu połączeniu podczas konfiguracji rclone. Dodatkowo, użycie znaku „:” oddziela nazwę zdalnego magazynu od nazwy katalogu. Podkatalogi są oddzielone zwykłym ukośnikiem „/”. Jeśli katalog docelowy nie istnieje, zostanie automatycznie utworzony.

Niektóre z tych wartości to domyślne ustawienia, ale przedstawiliśmy je, aby móc omówić ich znaczenie. W ten sposób, jeśli zajdzie potrzeba modyfikacji, będziesz wiedział, który parametr dostosować.

Aby nadać skryptowi uprawnienia do wykonywania, użyj polecenia:

chmod +x gbk.sh

Jak uruchomić skrypt kopii zapasowej?

Nasze polecenie kopii zapasowej skopiuje nasz folder Dokumenty na Dysk Google. W folderze Dokumenty znajdują się nasze nuty.

Aby uruchomić skrypt kopii zapasowej, wpisz:

./gbk.sh

Poprosiliśmy o aktualizację statystyk co sekundę (–stats 1s) oraz o szczegółowe dane wyjściowe (–verbose). Dlatego otrzymujemy dużo informacji na ekranie. Dobrą praktyką jest włączenie szczegółowych informacji na początku, aby móc obserwować ewentualne błędy. Możesz zmniejszyć ilość danych wyjściowych, gdy upewnisz się, że wszystko działa prawidłowo.

Na końcu otrzymujemy podsumowanie, które informuje, że 60 plików zostało przesłanych bez błędów. Transfer trwał około 24 sekundy.

Sprawdźmy na naszym Dysku Google, co się wydarzyło w naszej chmurze.

Utworzono folder „LinuxDocs”, co wygląda obiecująco. Po dwukrotnym kliknięciu w folder możemy zobaczyć, że wszystkie pliki zostały przeniesione na nasz Dysk Google.

Jak przeglądać pliki na Dysku Google za pomocą rclone?

Możemy użyć rclone, aby zobaczyć zawartość folderu na Dysku Google bezpośrednio w terminalu:

rclone ls google-drive:/LinuxDocs

Podsumowanie

To doskonałe, że możemy przeprowadzić tego typu kopiowanie bezpośrednio z linii poleceń. Możemy zintegrować korzystanie z naszej chmury z różnymi skryptami i zaplanować wykonywanie skryptów kopii zapasowych za pomocą narzędzia cron.

Rclone to potężne narzędzie z wieloma możliwościami, zachęcamy do zapoznania się z jego dokumentacją oraz znakomitą stroną internetową. Nasze omówienie to tylko wierzchołek góry lodowej, a inwestycja czasu w naukę obsługi rclone z pewnością się opłaci.

Warto zaznaczyć, że nie jest to pełnoprawna kopia zapasowa. To jedynie zdalna kopia plików, co jest z pewnością użyteczne, ale brakuje tu funkcji takich jak wersjonowanie, które oferują prawdziwe rozwiązania do archiwizacji danych.

Dlatego warto korzystać z rclone w połączeniu z innymi metodami archiwizacji. Rclone może być doskonałym uzupełnieniem istniejącego systemu tworzenia kopii zapasowych, umożliwiając bezpieczne przechowywanie danych w lokalizacjach oddalonych od twojego domu lub biura. To z pewnością jest wartościowe rozwiązanie.


newsblog.pl