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).