Vyhledávání na webu

Rclone – Synchronizace adresářů souborů z jiného cloudového úložiště


Rclone je program příkazového řádku napsaný v jazyce Go, který se používá k synchronizaci souborů a adresářů od různých poskytovatelů cloudových úložišť, jako jsou: Amazon Drive, Amazon S3, Backblaze B2, Box, Ceph, DigitalOcean Spaces, Dropbox, FTP, Google Cloud Storage, Google Drive atd.

Jak vidíte, podporuje více platforem, což z něj dělá užitečný nástroj pro synchronizaci dat mezi servery nebo do soukromého úložiště.

Rclone přichází s následujícími funkcemi

  • MD5/SHA1 hash kontroluje vždy, aby byla zajištěna integrita souboru.
  • Časová razítka jsou v souborech zachována.
  • Částečná synchronizace podporována na základě celého souboru.
  • Režim kopírování pro nové nebo změněné soubory.
  • Jednosměrná synchronizace, aby byl adresář identický.
  • Kontrolní režim – kontrola rovnosti hash.
  • Lze synchronizovat do a ze sítě, např. dva různé cloudové účty.
  • backend (šifrování).
  • (Cache) backend.
  • (Unie) backend.
  • Volitelný držák FUSE (rclone mount).

Jak nainstalovat rclone v systémech Linux

Instalaci rclone lze dokončit dvěma různými způsoby. Tím jednodušším je použití jejich instalačního skriptu vydáním následujícího příkazu.

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

Co tento skript dělá, je zkontrolovat typ operačního systému, na kterém je spuštěn, a stáhnout archiv související s tímto operačním systémem. Poté rozbalí archiv a zkopíruje binární soubor rclone do /usr/bin/rclone a udělí k souboru oprávnění 755.

Na konci, když je instalace dokončena, měli byste vidět následující řádek:

Rclone v1.44 has successfully installed.
Now run “rclone config” for setup, Check https://rclone.org/docs/ for  more details.

Druhý způsob instalace rclone je zadáním následujících příkazů.

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64

Nyní zkopírujte binární soubor a udělte mu oprávnění ke spuštění.

cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone

Nainstalujte manuálovou stránku rclone.

mkdir -p /usr/local/share/man/man1
cp rclone.1 /usr/local/share/man/man1/
mandb 

Jak nakonfigurovat rclone v systémech Linux

Dále budete muset spustit rclone config a vytvořit konfigurační soubor. Bude použit pro ověření pro budoucí použití rclone. Chcete-li spustit nastavení konfigurace, spusťte následující příkaz.

rclone config

Zobrazí se následující výzva:

2018/11/13 11:39:58 NOTICE: Config file “/home/user/.config/rclone/rclone.conf” not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

Možnosti jsou následující:

  • n) – Vytvořte nové vzdálené připojení
  • s) – nastavte ochranu vaší konfigurace heslem
  • q) – ukončete konfiguraci

Pro účely tohoto tutoriálu stiskněte "n" a vytvořte nové připojení. Budete požádáni o zadání názvu nového připojení. Poté budete vyzváni k výběru typu úložiště, které chcete nakonfigurovat:

Pojmenoval jsem podle spojení „Google “ a vybral jsem „Disk Google “, který je pod číslem 12. Na ostatní otázky můžete odpovědět tak, že ponecháte výchozí odpověď, kterou je prázdné “ ”.

Až budete požádáni, můžete vybrat možnost „autoconfig“, která vygeneruje všechny požadované informace pro připojení k vašemu Disku Google a udělí oprávnění rclone používat data z Disku Google.

Proces vypadá asi takto:

Google Application Client Secret - leave blank normally.
client_secret>
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> 1
ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
root_folder_id> 
Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
service_account_file>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
Configure this as a team drive?
y) Yes
n) No
y/n> n
--------------------
[remote]
client_id = 
client_secret = 
scope = drive
root_folder_id = 
service_account_file =
token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2018-11-13T11:57:58.955387075Z"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

Jak používat rclone v systémech Linux

Rclone má poměrně dlouhý seznam dostupných možností a příkazů, které lze použít. Pokusíme se pokrýt některé z nejdůležitějších:

Seznam vzdáleného adresáře

rclone lsd <remote-dir-name>:

Zkopírujte data pomocí rclone

rclone copy source:sourcepath dest:destpath

Upozorňujeme, že pokud rclone najde duplikáty, budou ignorovány:

Synchronizujte data s rclone

Pokud chcete synchronizovat některá data mezi adresáři, měli byste použít příkaz rclone s příkazem sync.

Příkaz by měl vypadat takto:

rclone sync source:path dest:path [flags]

V tomto případě je zdroj synchronizován s cílem, přičemž se mění pouze cíl! Tato metoda přeskakuje nezměněné soubory. Protože příkaz může způsobit ztrátu dat, můžete jej použít s “–dry-run ” a zjistit, co přesně bude zkopírováno a odstraněno.

Přesunout data pomocí rclone

Chcete-li přesunout data, můžete použít příkaz rclone s příkazem přesunout. Příkaz by měl vypadat takto:

rclone move source:path dest:path [flags]

Obsah ze zdroje bude přesunut (smazán) a umístěn do vybraného cíle.

Další užitečné příkazy rclone

Chcete-li vytvořit adresář v cíli.

rclone mkdir remote:path

Chcete-li odstranit adresář.

rclone rmdir remote:path

Zkontrolujte, zda se soubory ve zdroji a cíli shodují:

rclone check source:path dest:path

Vymazat soubory:

rclone delete remote:path

Každý z příkazů rclone lze použít s různými příznaky a obsahuje vlastní nabídku nápovědy. Můžete například provést selektivní odstranění pomocí možnosti odstranění. Řekněme, že chcete smazat soubory větší než 100M, příkaz by vypadal takto.

rclone --min-size 100M delete remote:path

Důrazně doporučujeme přečíst si manuál a nápovědu ke každému příkazu, abyste z rclone získali maximum. Úplná dokumentace rclone je k dispozici na: https://rclone.org/

Závěr

rclone je výkonný nástroj příkazového řádku, který vám pomůže spravovat data mezi různými poskytovateli cloudového úložiště. I když jsme v tomto článku načrtli jen povrch možností rclone, lze s ním dosáhnout mnohem více, zvláště když se používá v kombinaci se službou cron (například).