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

Nadal nie ma oficjalnego klienta Linuksa dla Dysku Google, ale możesz utworzyć kopię zapasową na Dysku Google za pomocą narzędzia rclone bezpośrednio z wiersza poleceń. Pokażemy Ci, jak to zrobić.

Gdzie jest Dysk Google w systemie Linux?

Pomimo obiecującej obsługi Linuksa „wkrótce” w 2012 roku, nic nie wskazuje na to, aby Google kiedykolwiek stworzył natywnego klienta Linux dla Dysku Google. Istnieje kilka nieoficjalnych rozwiązań innych firm, takich jak Zsynchronizowany, overGrive i ODrive, a niektóre przeglądarki plików umożliwiają integrację z Dyskiem Google, na przykład Akta w GNOM.

Aplikacje innych firm są produktami komercyjnymi, wymagającymi bezpośredniego zakupu lub subskrypcji. Działają dobrze, nie kosztują dużo, aw rzeczywistości overGrive ma bezpłatną wersję, oferującą ograniczoną funkcjonalność bez żadnych kosztów.

Ale co, jeśli chcesz tworzyć i uruchamiać kopie zapasowe z wiersza poleceń? A może włączyć tę funkcjonalność do skryptów? To wszystko jest możliwe dzięki niesamowitej aplikacji o nazwie rclone. W rzeczywistości z rclone możesz tworzyć kopie zapasowe, pobierać i synchronizować pliki w ponad czterdziestu różnych rozwiązaniach chmurowych. To jest jak rsync dla chmur.

Instalowanie rclone

rclone prawie na pewno nie zostanie domyślnie zainstalowany na twoim komputerze z systemem Linux. Na szczęście istnieje skrypt instalacyjny, który powinien działać na wszystkich dystrybucjach. Proces instalacji używa kędzior. Na komputerach używanych do badania tego artykułu Fedora 31 i Manjaro 18.1.0 miały już zainstalowane curl, ale curl musiało być zainstalowane w Ubuntu 18.04 LTS.

W systemie Ubuntu uruchom to polecenie, aby je zainstalować:

sudo apt-get install curl

sudo apt-get install curl w oknie terminala

Po zainstalowaniu curl zainstaluj rclone za pomocą tego polecenia:

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

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

Po zakończeniu instalacji rclone zobaczysz komunikat o powodzeniu.

Komunikat o powodzeniu ze skryptu instalacyjnego rclone w oknie terminala

To zainstalowało program rclone na twoim komputerze z systemem Linux. Następnym krokiem jest przeprowadzenie procesu konfiguracji i uwierzytelnienie rclone, aby uzyskać dostęp do Dysku Google.

Tworzenie zdalnego połączenia rclone

Połączenia ze zdalnymi usługami w chmurze nazywane są w świecie rclone „pilotami”. Musimy utworzyć taki dla Dysku Google. Rozpocznij proces konfiguracji rclone za pomocą tego polecenia:

rclone config

rclone config w oknie terminala

W procesie konfiguracji pojawia się wiele pytań. Ale nie zniechęcaj się, wiele z nich można pozostawić z domyślnymi wartościami i po prostu zaakceptować, naciskając „Enter”.

rclone mówi nam, że nie ma skonfigurowanych pilotów. Naciśnij „n” i „Enter”, aby utworzyć nowego pilota. Wyświetli monit o podanie nazwy. Nazwijmy to „dysk Google”. Użyj dowolnej nazwy.

rclone menu, aby utworzyć nowego pilota, w oknie terminala

Długie menu pozwala wybrać typ magazynu, z którym tworzysz połączenie zdalne.

rclone menu typu połączenia zdalnego w oknie terminala

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

rclone config w oknie terminala

Widzimy, że w tym przypadku jest to numer 13. Wpisz to jako typ magazynu i naciśnij „Enter”.

Ustawianie typu przechowywania rclone w oknie terminala

Pojawi się prośba o podanie identyfikatora klienta aplikacji Google. Naciśnij „Enter”, aby zaakceptować ustawienie domyślne.

Pytaj o identyfikator klienta aplikacji Google w oknie terminala

Zostaniesz poproszony o podanie klucza klienta aplikacji Google.

monit o podanie klucza tajnego klienta aplikacji Google w oknie terminala

Ponownie, po prostu naciśnij „Enter”. Zostaniesz poproszony o podanie zakresu, jaki będzie miał rclone, gdy będzie działał na Twoim Dysku Google. Naciśnij „1”, a następnie „Enter”.

udostępnianie zakresu rclone w oknie terminala

Aby uzyskać „ID folderu głównego”, po prostu naciśnij „Enter”.

monit o podanie identyfikatora folderu głównego w oknie terminala

Po wyświetleniu monitu „Service Account Credentials” naciśnij „Enter”.

Pytaj o poświadczenia konta usługi w oknie terminala

Po wyświetleniu monitu „Edytuj konfigurację zaawansowaną” po prostu naciśnij „Enter”. W menu „Użyj automatycznej konfiguracji” naciśnij „y”, a następnie „Enter”.

Plik

Powoduje to, że rclone komunikuje się z Twoim Dyskiem Google i uruchamia przeglądarkę, aby umożliwić Ci zezwolenie rclone na interakcję z Twoim Dyskiem Google.

rclone zaraz uruchomi przeglądarkę w oknie terminala

W oknie przeglądarki kliknij konto Google, którego chcesz użyć.

Wybór konta Google do użytku w oknie przeglądarki

Kliknij przycisk „Zezwól”, aby zezwolić rclone na dostęp do Twojego Dysku Google.

Zezwalanie rclone na współpracę z Dyskiem Google w oknie terminala

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

Komunikat o powodzeniu w oknie przeglądarki

Po wyświetleniu monitu „Skonfiguruj jako dysk zespołowy” wpisz „n”, a następnie naciśnij „Enter”.

Plik rclone

W menu „Tak, edytuj, usuń” wpisz „y”, a następnie naciśnij „Enter”.

Plik rclone

W ostatnim menu wpisz „q” i naciśnij „Enter”.

Ostateczne menu rclone w oknie terminala

Skrypt kopii zapasowej rclone

Aplikacja rclone jest bardzo bogata w funkcje. To świetnie, ale to znaczy istnieje wiele opcji. Polecenie, któremu przyjrzymy się poniżej, kopiuje pliki z komputera lokalnego na Dysk Google. To jest jednokierunkowa kopia do chmury; nie jest to dwukierunkowa synchronizacja między Twoim Dyskiem Google a lokalnym komputerem – chociaż rclone może to zrobić. Używamy tego jako podstawowej formy kopii zapasowej poza siedzibą firmy.

Wpisz (lub skopiuj i wklej) to do edytora tekstu i zapisz na swoim komputerze. Nazwaliśmy to gbk.sh. Możesz nazwać to, jak chcesz.

#!/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ą parametry:

copy: Skopiuj pliki z komputera lokalnego do magazynu zdalnego, pomijając pliki, które są już obecne w magazynie zdalnym.
–Aktualizacja: Pomiń wszystkie pliki znajdujące się w magazynie zdalnym, których czas modyfikacji jest nowszy niż plik na komputerze lokalnym.
–Verbose: Zawiera informacje o każdym przesyłanym pliku.
–Transfers 30: Ustawia liczbę plików do równoległego kopiowania.
–Checkers 8: Ile „warcabów” ma działać równolegle. Warcaby monitorują trwające transfery.,
–Contimeout 60s: Limit czasu połączenia. Ustawia czas, w którym rclone będzie próbował nawiązać połączenie ze zdalnym magazynem.
–Timeout 300s: Jeśli transfer stanie się bezczynny przez ten czas, zostanie uznany za przerwany i rozłączony.
–Retries 3: Jeśli wystąpi tyle błędów, cała operacja kopiowania zostanie wznowiona.
–Powtórzenia niskiego poziomu 10: Ponowna próba niskiego poziomu próbuje powtórzyć jedną operację zakończoną niepowodzeniem, na przykład pojedyncze żądanie HTTP. Ta wartość określa limit liczby ponownych prób.
–Stats 1s: rclone może dostarczyć statystyki dotyczące przesyłanych plików. Powoduje to ustawienie częstotliwości aktualizacji statystyk na jedną sekundę.
„/ Home / dave / Documents”: katalog lokalny, do którego zamierzamy skopiować do magazynu zdalnego.
„Dysk google: LinuxDocs”: katalog docelowy w magazynie zdalnym. Zwróć uwagę na użycie „google-drive”, które jest nazwą, którą nadaliśmy temu zdalnemu połączeniu podczas sekwencji konfiguracji rclone. Zwróć także uwagę na dwukropek „:”, który jest używany jako separator między nazwą magazynu zdalnego a nazwą katalogu. Podkatalogi są oddzielone zwykłym ukośnikiem „/”. Jeśli katalog docelowy nie istnieje, zostanie utworzony.

Niektóre z tych wartości są wartościami domyślnymi, ale umieściliśmy je tutaj, abyśmy mogli je omówić. W ten sposób, jeśli chcesz zmienić wartość, wiesz, który parametr dostosować.

Spraw, aby skrypt był wykonywalny za pomocą tego polecenia:

chmod +x gbk.sh

Uruchomienie skryptu kopii zapasowej

Nasz skrypt kopii zapasowej skopiuje nasz folder Dokumenty na nasz Dysk Google. W naszym folderze Dokumenty mamy zbiór nut.

Zbiór nut w ~ / Documents w przeglądarce plików

Możemy uruchomić skrypt kopii zapasowej za pomocą tego polecenia:

./gbk.sh

./gbk.sh w oknie terminala

Poprosiliśmy o aktualizację statystyk co sekundę (–stats 1s), a także o szczegółowe dane wyjściowe (–verbose). Nie będzie więc zaskoczeniem, że otrzymujemy dużo informacji na ekranie. Zwykle dobrym rozwiązaniem jest włączenie szczegółowych informacji wyjściowych dla nowych funkcji, aby można było dostrzec problemy. Możesz zmniejszyć ilość danych wyjściowych, gdy jesteś zadowolony, że wszystko przebiega gładko.

rclone wyjście w oknie terminala

Otrzymujemy ostateczne podsumowanie, z którego wynika, że ​​60 plików zostało przesłanych bez błędów. Transfer trwał około 24 sekundy.

Sprawdźmy na naszym Dysku Google i zobaczmy, co się stało w naszej pamięci w chmurze.

Folder LinuxDocs na Dysku Google

Utworzono katalog „LinuxDocs”, który wygląda obiecująco. Jeśli klikniemy go dwukrotnie, aby zajrzeć do środka, zobaczymy, że wszystkie pliki zostały przeniesione na nasz Dysk Google.

Pliki w formacie

Używanie rclone do przeglądania plików na Dysku Google

Możemy użyć rclone, aby zajrzeć do folderu na Dysku Google, bezpośrednio z okna terminala:

rclone ls google-drive:/LinuxDocs

rclone ls google-drive: / LinuxDocs w oknie terminala

Wierzchołek góry lodowej

To świetnie, że możemy wykonać tego typu kopiowanie bezpośrednio z linii poleceń. Możemy włączyć wykorzystanie naszej pamięci masowej w chmurze do skryptów i możemy zaplanować wykonanie skryptów kopii zapasowych za pomocą crona.

rclone ma absolutne bogactwo poleceń, do czego jesteś zachęcany sprawdź ich dokumentację i doskonałą stronę internetową. Ledwo udało nam się zarysować powierzchnię, a trochę czytania i zabawy z rclone opłaci się wiele razy.

Ściśle mówiąc, to nie jest prawdziwa kopia zapasowa. Jest to zdalna kopia Twoich plików i danych poza siedzibą firmy, co zdecydowanie warto mieć, ale jest to tylko kopia plików. Nie oferuje wersjonowania ani innych funkcji, które oferowałyby prawdziwe rozwiązania do tworzenia kopii zapasowych.

Więc używaj rclone w połączeniu z innymi technikami tworzenia kopii zapasowych. Jako kolejna warstwa istniejącego systemu tworzenia kopii zapasowych rclone jest łatwym sposobem na przechowywanie danych w lokalizacji, która jest geograficznie usunięta z domu lub biura. I to musi być dobra rzecz.