
Przewodnik: Synchronizacja Unraid lub wybranej dystrybucji Linuksa z Dyskiem Google
CheckMag
Dzięki Valve i Proton, Linux staje się znacznie bardziej realną platformą do pracy i zabawy, ale obsługa synchronizacji popularnych usług w chmurze, takich jak OneDrive i Google Drive, nie istnieje i w przeciwieństwie do TruNAS i Synology funkcja ta nie jest wbudowana. Istnieje jednak niezawodne i stosunkowo proste rozwiązanie. Oto jak to działa.David Devey, 👁 David Devey (tłumaczenie Ninh Duy) Opublikowany 🇺🇸 🇫🇷 ...
Wszystko zaczęło się od próby znalezienia sposobu na synchronizację Unraid z Dyskiem Google. Po migracji z Synology(dostępnego na Amazon.com) do TrueNAS (z których oba mają natywne implementacje do synchronizacji dysków bezpośrednio z Dyskiem Google), jest to funkcja, której bardzo brakuje w Unraid. Reddit jest zalany z podobnych pytaniami z wieloma potencjalnymi rozwiązaniami, jednak powszechne rozwiązanie jest często najlepsze (nawet jeśli nie jest takie proste), a to konkretne rozwiązanie działa również z każdą dystrybucją Linuksa, nie tylko Unraid.
Jednym z kluczowych kryteriów mojego rozwiązania było pozostawienie czytelnych plików na Dysku Google w przeciwieństwie do zaszyfrowanej kopii zapasowej. Chociaż nie jest to rozwiązanie do tworzenia kopii zapasowych samo w sobie, wygoda posiadania plików do odczytu bezpośrednio z Dysku Google była atrakcyjna. Eliminuje to MSP360 (dawniej CloudBerry), Duplicati i Duplicacy jako opcje, jednak jedną z nazw, która konsekwentnie pojawiała się w różnych wątkach był Rclone.
Użytkownicy nazywają Rclone "szwajcarskim scyzorykiem przechowywania danych w chmurze" i nie bez powodu. Obsługuje on montowanie prawie każdego dostawcy pamięci masowej w chmurze, o którym można pomyśleć, i oferuje szereg poleceń kopiowania i synchronizacji w celu tworzenia kopii lustrzanych zmian między dyskami lub tworzenia kopii zapasowych w jedną stronę. Chociaż posiada natywną wtyczkę Unraid, Rclone można zainstalować na prawie każdej dystrybucji Linuksa. W tym samouczku przyjrzymy się Ubuntu, ale proces montowania dysków w chmurze i synchronizacji lub kopiowania plików jest prawie identyczny niezależnie od wybranego systemu. Proces ten odbywa się głównie za pomocą wiersza poleceń, ale pomimo moich początkowych obaw, jest to zdecydowanie najbardziej niezawodne rozwiązanie, jakie znalazłem. Po skonfigurowaniu można w zasadzie o tym zapomnieć, a Rclone z przyjemnością zsynchronizuje lub skopiuje pliki zgodnie z harmonogramem.
Instalacja
Aby zainstalować Rclone, proszę otworzyć okno terminala i wpisać:
sudo apt-get install rclone
Może być konieczne dostosowanie polecenia w zależności od dystrybucji.
Po zainstalowaniu proszę wpisać:
rclone config
Spowoduje to uruchomienie interaktywnego instalatora i proszę wybrać"New Remote". Proszę wpisać nazwę dla połączenia zdalnego, może to być dowolna nazwa, ale powinna odzwierciedlać wybranego dostawcę - w tym przypadku"Google". Po wybraniu nazwy powinni Państwo zacząć orientować się, ilu dostawców chmury obsługuje Rclone.
Proszę wpisać"18", aby wybrać Dysk Google jako dostawcę. Następnie zostaną Państwo poproszeni o wprowadzenie identyfikatora klienta. W tym momencie nadszedł czas, aby przejść do Google API Console aby utworzyć aplikację, która pozwoli Rclone na dostęp do Państwa Dysku Google.
Tworzenie Google API do przyznawania Rclone dostępu do Dysku
Instrukcje https://rclone.org/drive/#making-your-own-client-id zamieszczone na stronie Rclone są dość wyczerpujące, jednak gdy zostaną Państwo poproszeni o"Dodanie zakresów", co można znaleźć w sekcji"Dostęp do danych","Dodawanie lub usuwanie zakresów", może pojawić się pewne zamieszanie.
Mogą Państwo dodać wszystkiezakresy jeden po drugim lub wszystkie naraz, wklejając poniższe dane w polu"Ręcznie dodaj zakresy":
www.googleapis.com/auth/docs,
www.googleapis.com/auth/drive,
www.googleapis.com/auth/drive.metadata.readonly
Stamtąd instrukcje różnią się nieco od tego, co widzimy w Google API, więc proszę kliknąć"Clients" po lewej stronie i utworzyć"Desktop App" o nazwie "Rclone" lub innej. Proszę zanotować identyfikator klienta, a sekret klienta można uzyskać, klikając jego nazwę.
Po uzyskaniu tych danych proszę kliknąć"Audience" po lewej stronie i opublikować swoją aplikację. Z technicznego punktu widzenia Google wymaga weryfikacji aplikacji, co może zająć trochę czasu. Mogą Państwo jednak rozpocząć korzystanie z niej bez weryfikacji. Można pozostawić ją w"Testach" i nie publikować, ale trzeba będzie odświeżać wszelkie dotacje co tydzień, co nie jest praktyczne. Teraz, gdy mamy już identyfikator klienta i sekret klienta, można wrócić do okna terminala, aby wprowadzić te poświadczenia.
Proszę wybrać"1" jako zakres, aby zezwolić na pełny dostęp do wszystkich plików, a następną sekcję"Option service_account file" można pozostawić pustą. Proszę wybrać"Nie" dla konfiguracji zaawansowanej i"Tak", aby użyć konfiguracji automatycznej. Jest to przydatne, ponieważ otworzy przeglądarkę, aby umożliwić uwierzytelnienie Rclone za pomocą konta Google. Najłatwiejszym sposobem na zrobienie tego na Unraid podczas konfigurowania maszyny jest podłączenie monitora i użycie trybu GUI podczas przechodzenia przez początkową konfigurację, ale można to również zrobić na maszynie bezgłowej, wybierając"Nie" - proszę pamiętać, że ten proces jest nieco bardziej skomplikowany.
Nasz Dysk Google nie jest dyskiem współdzielonym, więc możemy kliknąć"Nie" w następnym kroku, a następnie wystarczy potwierdzić, aby zapisać połączenie.
Montaż naszego Dysku Google
Gdy to zrobimy, musimy utworzyć lokalizację do zamontowania dysku. Proszę utworzyć folder, w którym zostanie zamontowany dysk, wpisując:
mkdir -p ~/gdrive
Następnie proszę zamontować dysk w tej lokalizacji, wpisując:
rclone mount google: ~/gdrive
Teraz można przeciągać i upuszczać dowolne pliki do tego folderu, a pojawią się one automatycznie na Dysku Google. Podobnie, wszelkie pliki utworzone lub dodane do internetowej wersji Dysku Google również pojawią się w tym folderze.
Teraz, gdy udało się zamontować Dysk Google, nadszedł czas, aby dodać go do crontab, aby przetrwał ponowne uruchomienie. Możemy również użyć crontab do zaplanowania kopiowania lub synchronizacji z Dyskiem Google.
Przetrwanie restartu i planowanie synchronizacji
Aby edytować crontab, proszę wpisać crontab -e i wybrać"nano" jako edytor. Po przejściu do crontab proszę wkleić poniższe polecenie:
@reboot rclone mount google: /home/YOURUSERNAME/gdrive
Plik crontab to miejsce, w którym można również zaplanować kopiowanie lub synchronizowanie poleceń między folderami a Dyskiem Google w określonych dniach lub tygodniach.
Pełną listę poleceń Rclone można znaleźć na stronie tutaj, ale najważniejsze z nich to:
- "copy" - kopiuje dowolne pliki z jednego katalogu do drugiego, pomijając pliki, które nie mają żadnych zmian lub już istnieją.
- "sync" - sprawi, że źródło i miejsce docelowe będą takie same, modyfikując tylko miejsce docelowe.
- "bisync" - wykona dwukierunkową synchronizację między dwiema ścieżkami.
Polecenia synchronizacji lub kopiowania można wbudować w plik crontab. Proszę użyć Crontab Guru aby obliczyć częstotliwość oraz skopiować i wkleić katalogi, które mają zostać zsynchronizowane.
*/5 * * * * rclone copy /home/YOURUSERNAME/Documents google:Documents
Tak więc powyższy cron będzie kopiował zawartość folderu Dokumenty do folderu o nazwie Dokumenty na Dysku Google co 5 minut. Można dodać dowolną liczbę zadań, z różnymi częstotliwościami i folderami.
Chociaż nie jest to najprostsze do skonfigurowania, po wypróbowaniu wielu płatnych i bezpłatnych rozwiązań, Rclone jest najbardziej niezawodnym rozwiązaniem "ustaw i zapomnij", jakie do tej pory znalazłem.
Rclone obsługuje tak wielu dostawców pamięci masowej w chmurze i ma o wiele więcej poleceń i przypadków użycia, które nie zostały tutaj omówione, niezależnie od tego, czy są Państwo użytkownikami Unraid korzystającymi z wtyczki Unraidlub użytkownikiem Linuksa, który po prostu chce zsynchronizować lub wykonać kopię zapasową określonych katalogów na swoim komputerze z systemem Linux, Rclone jest naprawdę "szwajcarskim scyzorykiem do przechowywania danych w chmurze".