Nastavení Rclone pomocí Disku Google

Úvod – Co je Rclone?

Rclone je fantastický a bezplatný nástroj příkazového řádku pro správu souborů v cloudovém úložišti. Má schopnost pracovat s více než 40 produkty cloudového úložiště a je mnohem bohatší a výkonnější než tradiční webová rozhraní, která většina poskytovatelů cloudových úložišť nabízí. V tomto článku se zaměřím konkrétně na jeho integraci s Diskem Google a na to, jak jej můžete využít ke kopírování a následné synchronizaci souborů s Diskem Google.

Hlavní funkcí, která mě přitahuje na Disk Google, je skutečnost, že s účtem GSuite Business/Workspace můžete využívat neomezené* úložiště. Google říká, že omezují využití na 1 TB pro účty s méně než pěti uživateli, ale nikdy to nevynutili. Pokud by to někdy skončilo prosazováním, Google vždy řeší snížení úložiště pro účty nedestruktivním způsobem – to znamená, že vaše soubory budou v nejhorším případě nadále existovat na Disku Google. Bez ohledu na to, budoucnost Google i nadále nabízet neomezené úložiště způsobem, jakým je nyní, je nejistá. Osobně bych se nespoléhal na tento způsob ukládání pro nic kritického.

Začínáme

Vytvoření klíče API Disku Google

Abychom uvedli, že i když k tomu všemu můžete použít veřejný klíč API pro Disk Google Rclone, velmi vám doporučuji, abyste si vytvořili svůj vlastní. Vzhledem k tomu, že každý klíč API má globální rychlostní limit na počet dotazů za sekundu, které může provést, a protože klíč API RClone je sdílen mezi všemi ostatními, kteří jej používají, je pravděpodobné, že byste mohli narazit na problémy s omezením rychlosti pomocí klíče Rclone. . Abyste se nemuseli bát, že byste se s něčím z toho v budoucnu museli potýkat, můžete si vytvořit vlastní. Je to velmi jednoduché, pokud budete postupovat podle těchto pokynů:

  1. Navštivte Google API Console zde
  2. Vyberte projekt. Pokud jej ještě nemáte vytvořený, vytvořte si jej.
  3. Klikněte na „Povolit rozhraní API a služby“ a poté vyberte Disk Google
  4. Poté budete muset kliknout na kartu „Přihlašovací údaje (Credentials)“ vlevo a poté na „Vytvořit přihlašovací údaje v horní části obrazovky.
  5. Zde budete chtít vytvořit ID klienta OAuth
  6. Pokud jste to ještě neudělali, web vás vyzve k vytvoření obrazovky souhlasu.
  7. Budete si moci vybrat mezi „Interní“ a „Externí“. Pro naše účely budete chtít vybrat „Externí“
  8. Na konfigurační stránce obrazovky souhlasu zadejte své aplikaci název a doménu, se kterou ji chcete propojit. Mnoho dalších polí zde je nepovinných, ale doporučuji vám vyplnit co nejvíce zde.
  9. Po dokončení stačí kliknout na „Uložit“
  10. Dále budete chtít vybrat Typ aplikace. Zde budete chtít vybrat typ zařízení, které se přímo týká vašeho případu použití.
  11. Nakonec budete chtít uchopit své ID klienta a tajný klíč a ponechat si je na později v naší konfiguraci Rclone.
    To lze udělat po návratu na hlavní stránku a pak pod menu API Api ane services u ikony klíče – Credentials

Instalace Rclone

Chcete-li nainstalovat Rclone, jednoduše spusťte příkaz, který najdete zde na webu Rclone:

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

Doporučuji vám použít tento příkaz, namísto jeho jednoduché instalace přes správce balíčků vašeho distribuce, abyste se vyhnuli problémům se spouštěním staré verze programu.

Konfigurace Rclone

Po instalaci můžete spustit konfiguraci aplikace spuštěnímrclone config

Zde nám budou poskytnuty následující možnosti:

No remotes found - make a new one
n) New remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config

Protože nemáte žádné stávající ovladače, začněte zadáním n.

Po pojmenování dálkového ovladače se vám zobrazí seznam různých možností cloudového úložiště, se kterými je Rclone kompatibilní. Vyhledejte „Disk Google“ a zadejte číslo, které je k němu přiřazeno.

XX / Google Drive
   \ "drive"
Storage> drive

Nyní zadáte ID klienta a tajný klíč klienta vygenerované v jednom z předchozích kroků:

Google Application Client Id
client_id> enter_client_id_here
Google Application Client Secret
client_secret> enter_client_secret_here

Dále si budete moci vybrat mezi 4 různými možnostmi rozsahu

Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"
scope> 

Pro naše účely zůstaneme u možnosti 1.

Nyní budete mít možnost omezit váš rclone remote na konkrétní složku nebo týmový disk. Chcete-li tak učinit, jednoduše nastavte „root_folder_id“ na ID složky. To lze snadno zjistit, když se podíváte na adresu URL vaší složky/týmového disku.
Například při přechodu na týmový disk se mi může zobrazit adresa URL jako: https://drive.google.com/drive/u/1/folders/jk23jkfsd3
Chci zkopírovat a vložit jk23jkfsd3část adresy URL jako své kořenové_id_složky.

ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
root_folder_id> jk23jkfsd3

V dalším kroku budete mít možnost nakonfigurovat účet služby, ale pro naše účely tuto možnost přeskočíme. Po tomto kroku také přeskočíme možnost „pokročilá konfigurace“.

Dále budete moci udělit oprávnění rclone vašemu Disku Google. Pokud jste na ploše, zadejte „y“. Pokud jste na bezhlavém stroji, zadejte „n“. Pro mé nastavení zadávám „n“.

Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes (default)
n) No
y/n> n
Please go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=dsagfresfdg&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%32324A%32%Fwww.googleapis.com%2Fauth%2Fdrive&state=XJbsd3#fl@!0fs1jg
Log in and authorize rclone for access
Enter verification code> XXXXXXXXXXXXXXXXXXXXXXXXXX

V závislosti na tom, jaký výběr provedete, budete mít buď otevřený prohlížeč a poskytne vám odkaz na stránku OAuth Google, ke které pak můžete udělit přístup a dostanete ověřovací kód. Pokud používáte bezhlavou instalaci, jednoduše dostanete odkaz, který můžete vložit do prohlížeče a provést stejný proces. Po získání ověřovacího kódu jej jednoduše vložte do svého terminálu, kde by jej nyní měl rclone vyžadovat.

V dalším kroku budete dotázáni, zda chcete toto dálkové ovládání nastavit na týmový disk nebo ne. Je to na vás, ale doporučuji používat týmový disk čistě proto, abyste měli věci trochu uspořádanější.

Configure this as a team drive?
y) Yes
n) No
y/n> y

Nakonec budete vyzváni, abyste zkontrolovali svůj vstup a ujistili se, že je správně nakonfigurován. Po potvrzení jste nyní schopni připojit disk, ale v našem aktuálním nastavení se to nestane automaticky, takže se podívejme na nastavení rclone pomocí služby systemd.

[Gdrive_Mount]
client_id = XXXXXXXXXXXXXXXXXXXX
client_secret = XXXXXXXXXXXXXXXXXXXX
scope = drive
root_folder_id = jk23jkfsd3
service_account_file =
token = {"access_token":"XXXXXXXXXXXXXXXXXXXX","token_type":"Bearer","refresh_token":"XXXXXXXXXXXXXXXXXXXX","expiry":"XXXXXXXXXXXXXXXXXXXX"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Příklad toho, jak by měl nakonec vypadat váš rclone mount

Nastavení kryptoměny (volitelné)

Tento krok je volitelný a je určen pro uživatele, kteří chtějí své soubory před odesláním na Disk Google zašifrovat. Osobně to dělám u všeho, co tam vyhodím, i když je to na úkor malého pohodlí.

Nyní, když jste se trochu blíže seznámili s Rclone a procesem nastavení dálkového ovládání rclone, pojďme se vrhnout na ~/.config/rclone/rclone.conf. Použijte textový editor dle vašeho výběru

[gdrive_mount]
type = drive
client_id = XXXXXXXXXXXXXXXXXXXX
client_secret = XXXXXXXXXXXXXXXXXXXX
scope = drive
root_folder_id = jk23jkfsd3
token = token = {"access_token":"XXXXXXXXXXXXXXXXXXXX","token_type":"Bearer","refresh_token":"XXXXXXXXXXXXXXXXXXXX","expiry":"XXXXXXXXXXXXXXXXXXXX"}
team_drive = XXXXXXXXXXXXXXXXXXXX

Váš ~/.config/rclone/rclone.confsoubor by měl vypadat podobně jako výše. Budete muset upravit soubor tak, aby zahrnoval vaši mezipaměť a šifru.

[gdrive_mount]
type = drive
client_id = XXXXXXXXXXXXXXXXXXXX
client_secret = XXXXXXXXXXXXXXXXXXXX
scope = drive
root_folder_id = jk23jkfsd3
token = token = {"access_token":"XXXXXXXXXXXXXXXXXXXX","token_type":"Bearer","refresh_token":"XXXXXXXXXXXXXXXXXXXX","expiry":"XXXXXXXXXXXXXXXXXXXX"}
team_drive = XXXXXXXXXXXXXXXXXXXX

[gdrive_mount_crypt]
type = crypt
remote = gdrive_mount:
filename_encryption = standard
directory_name_encryption = true

Nakonec budete chtít emulovat toto nastavení ve vašem rclone.conf. U vašeho kryptu remote =bude muset ukazovat na vaše jméno připojení. Jak vidíte, mám to nastavené naremote = gdrive_mount:

Nastavení šifrovacího hesla a soli

Nyní je čas znovu spustit rclone configa přidat šifrovací heslo a sůl .

Current remotes:

Name                 Type
====                 ====
gdrive_mount         drive
gdrive_mount_crypt   crypt

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> e
Choose a number from below, or type in an existing value
 1 > gdrive_mount
 2 > gdrive_mount_crypt
remote> 3
--------------------
[gdrive_mount_crypt]
type = crypt
remote = gdrive_mount:
filename_encryption = standard
directory_name_encryption = true
--------------------
Edit remote
** See help for crypt backend at: https://rclone.org/crypt/ **

Value "filename_encryption" = "standard"
Edit? (y/n)>
y) Yes
n) No (default)
y/n> n
Value "directory_name_encryption" = "true"
Edit? (y/n)>
y) Yes
n) No (default)
y/n> n
Value "password" = ""
Edit? (y/n)>
y) Yes
n) No (default)
y/n> y
Password or pass phrase for encryption.
y) Yes type in my own password
g) Generate random password
y/g> y
Enter the password:
password:
Confirm the password:
password:
Value "password2" = ""
Edit? (y/n)>
y) Yes
n) No (default)
y/n> y
Password or passphrase for salt. Optional but recommended.
Should be different to the previous password.
y) Yes type in my own password
g) Generate random password
n) No leave this optional password blank (default)
y/g/n> y
Enter the password:
password:
Confirm the password:
password:
--------------------
[gdrive_mount_crypt]
type = crypt
remote = gdrive_mount:
filename_encryption = standard
directory_name_encryption = true
password = *** ENCRYPTED ***
password2 = *** ENCRYPTED ***
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

Montáž dálkového ovladače

Za chvíli vám ukážu, jak nakonfigurovat rclone, aby se připojil při spuštění systému pomocí systemd, ale nyní otestujme, abychom zajistili funkčnost vzdáleného ovladače, který jste právě vytvořili.

Chcete-li začít, vytvořte adresář v /mnt/ na počítači, který chcete použít s rclone.

mkdir /mnt/gdrive

Nyní, abyste mohli připojit rclone k vašemu nově vytvořenému /mnt/bodu, budete muset spustit následující příkaz:

rclone mount gdrive_mount_crypt: /mnt/gdrive --allow-other --cache-db-purge --fast-list --poll-interval 10m

Všimněte si, že jsem uvedl gdrive_mount_crypt:spíše než gdrive_mount. Je to proto, že chci, aby data procházela kryptou a zašifrovala je, než budou uložena na Disk Google.

Konfigurace Systemd

Jak jsem stručně mluvil dříve, ruční spuštění rclone mountpříkazu bude fungovat, ale mezi restarty nezůstane ani se nespustí automaticky, což dávám přednost tomu, aby bylo na místě.

Chcete-li tento proces uskutečnit, přejděte na /etc/systemd/system. Zde budete chtít vytvořit nový .servicesoubor, který nám umožní automaticky připojit rclone, když se počítač spustí.

Vytvořte soubor s názvem gdrive.servicea upravte jej pomocí textového editoru dle vašeho výběru. Používám VIM, který mi umožňuje toto vše udělat jedním příkazem.

vim gdrive.service

[Unit]
Description=rclone for gdrive_mount
AssertPathIsDirectory=/mnt/gdrive
After=networking.service

[Service]
Type=simple
ExecStart=rclone mount --config=/home/tcude/.config/rclone/rclone.conf gdrive_mount_crypt: /mnt/gdrive --allow-other --cache-db-purge --fast-list --poll-interval 10m
ExecStop=/bin/fusermount -u /mnt/gdrive
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

Naplňte soubor tím, co jsem zobrazil výše, a upravte jeho potřebné části, například gdrive_mountto, co odpovídá názvu vašeho držáku. Budete také muset zajistit nahrazení tcudejménem vašeho uživatele.

Po uložení nového gdrive.servicesouboru můžete zajistit jeho použití při spuštění spuštěním příkazu:

systemctl enable gdrive.service

V tomto okamžiku služba ve skutečnosti nebude spuštěna. Chcete-li to povolit, použijte příkaz:

systemctl start gdrive.service

 

Používání

Doporučuji vám navštívit dokumentaci rclone pro Disk Google zde , abyste pochopili, jak plně využít svůj nový držák rclone.

Pro své účely jsem zjistil, že nejčastěji používám následující příkaz:

rclone sync /path/to/local/dir gdrive_crypt: --bwlimit=8.5M --progress

Trochu rozebrat věci:

  • rclone syncbude synchronizovat obsah adresáře, který určíte, s dálkovým ovladačem, do kterého je posíláte. To znamená, že pokud přidáte soubor do místního adresáře a spustíte příkaz, zobrazí se na vašem dálkovém ovladači gdrive. Totéž platí pro smazání souboru ve vašem lokálním adresáři
  • --bwlimit=8.5Momezuje rychlost šířky pásma na 8,5 milionu, což vám brání dosáhnout maximálního denního nahrávaného obsahu stanoveného společností Google
  • --progressdělá přesně to, co zní, a poskytuje výstup zobrazující, které soubory jsou aktuálně klonovány/synchronizovány na gdrive, kolik času zbývá do dokončení klonování/synchronizace a jak rychle se klon/synchronizace přenáší

Závěr

I když je proces nastavení, jak rclone pracovat s Diskem Google, trochu dlouhý, zjistil jsem, že je velmi užitečný při snadném zálohování souborů.

Pokud byste chtěli věci ještě zlepšit, podívejte se na vytvoření jednoduchého skriptu pro spuštění příkazu rclone sync, přidejte cronjob a nyní máte automatizovanou offsite zálohu pro adresář, který si vyberete!

Doufám, že vám tento návod pomohl. Pokud ano, zvažte přidání mého webu do vaší RSS čtečky pomocí následující adresy URL:

https://tcude.net/rss

Další:

Podívejte se na tento příspěvek , který popisuje proces aktivace webového GUI Rclone!

Zdroj: https://tcude.net/setting-up-rclone-with-google-drive/