Obsah

Základní příkazy a ovládání rclone pro S3

Aby bylo možné používat příkazy podle následujícího návodu, musíte nejdříve provést stažení programu, jeho rozbalení a instalaci, postup naleznete na hlavní stránce nástroje rclone a následně provést konfiguraci připojení pomocí rclone.

Základní příkazy pro ovládání rclone

Všechny dostupné příkazy pro nástroj rclone je možné vypsat pomocí příkazu:
rclone help

Případně můžete najít seznam všech dostupných příkazů na webu rclone. Níže jsou popsány vybrané příkazy pro správu bucketů, adresářů a souborů.

Listování bucketů, adresářů...

Vylistování dostupných profilů pro připojení.

rclone listremotes
   cesnet_s3_encrypted:
   cesnet_s3cl2:
   sftp_du4:
   sftp_du5:

Vylistování obsahu (bucketů) příslušného profilu/připojení.

rclone lsd cesnet_s3cl2:
   -1 2020-11-11 08:53:48        -1 111
   -1 2022-07-28 10:03:20        -1 test

Vylistování bucketu. Na následujícím výpisu vidíme, že v bucketu je složka s názvem „test_data“ a v ní jsou 3 soubory.

rclone ls cesnet_s3cl2:test
   106996 test_data/DSC_0001.jpg
   367329 test_data/DSC_0003.jpg
   256805 test_data/DSC_0004.jpg

Výroba bucketu, kopírování, mazání...

Výroba nového bucketu.

rclone mkdir cesnet_s3cl2:test-bucket

Smazání bucketu.

rclone rmdir cesnet_s3cl2:test-bucket

Kopírování souborů.

Nástroj rclone nedokáže vytvářet prázdé adresáře, viz chybové hlášení.
rclone mkdir cesnet_s3cl2:test-bucket/empty-directory
2022/08/24 12:18:36 NOTICE: S3 bucket test-bucket path empty-directory: Warning: running mkdir on a remote which can't have empty directories does nothing

Řešením je při kopírování/synchronizaci souboru úvest plnou cestu v bucketu. Pokud cesta neexistuje, tak ji rclone vyrobí, viz příklad níže.

rclone copy /home/user/test_file1.pdf cesnet_s3cl2:test-bucket/new-dir1/new-dir2/

Následně provedeme kontrolu pomocí příkazu ls, kde vidíme, že došlo k založení dvou dalších adresářů new-dir1 a new-dir2:

rclone ls cesnet_s3cl2:test-bucket
  3955866 new-dir1/new-dir2/test_file1.pdf

Smazání souborů.
Pro smazání souborů můžete použít buď příkaz deletefile pro smázání konkrétního souboru, anebo příkaz delete pro smazání všech souborů v dané cestě.

rclone deletefile cesnet_s3cl2:test-bucket/new-dir1/new-dir2/test_file1.pdf
Pokud smažete jediný objekt (soubor) v daných adresářích a výsledkem oprace by byly prázdné adresáře, dojde rovněž k jejich smazání! Adresáře jsou v objektové technologii reprezentovány názvem objektu, jedná se tudíž o čekáváné chování.

Sychronizace adresářů

Pro synchronizaci adresářů je možné využít volbu sync. Synchronizace mění obsah dat pouze na cílové straně, nedochází k žádným změnám na zdrojové straně.

Příklad příkazu rclone sync obsahujícího základní doporučené volby naleznete níže.

rclone sync --dry-run --progress --fast-list /home/user/source-dir cesnet_s3cl2:test-bucket/
Při použití tohoto příkazu dochází vždy k synchrnonizaci obsahu zdrojového adresáře, nezávisle na tom, zda na konci zdrojové cesty NEpoužijete lomítko. Chování rclone je v tomto ohledu odlišné od chování rsync.

Výše uvedený příkaz obsahuje některé z doporučených voleb.
Volba dry-run, která nám umožní pokusný běh s vypsáním všech případných změn.

--dry-run

Volba progress, která nám umožní sledovat průběžný stav přenosu.

--progress

Volba fast-list, která umožní snížit počet dotazů na API díky tomu, že přečte pomocí jednoho dotazu informace až o 1000 objektech a uloží je do místní paměti, čímž celkově zrychluje přenos zejména pro větší datasety.

--fast-list

Volba interactive, která nám umožní interaktivně potvrdit anebo odmítnout navrhovanou změnu, kterou se rclone chystá provést na vzdáleném úložišti.

--interactive

Kontrola integrity souborů

Příkazy pro kontrolu integrity dat by měly rovněž obsahovat volbu fast-list, viz popis výše. Kontrola integrity dat se tím o několik řádů zrychlí a zefektivní.

Nástroj rclone umožňuje kontrolu integrity přenesených dat.

rclone check --fast-list C:/Users/Alfred/source-for-sync/my-local-data cesnet_s3cl2:test-sync

Příkaz kontroluje kontrolní součty na zdrojové a na cílové straně. Pro rychlou kontrolu můžete využít volbu size-only, kde se nekontrolují hashe ale pouze velikosti souborů.

rclone check --fast-list --size-only C:/Users/Alfred/source-for-sync/my-local-data cesnet_s3cl2:test-sync
Pro kontrolu šifrovaných bucketů prosím používejte volbu cryptcheck, která je zdokumentována v návodech věnovaných šifrovaným bucketům. V případě použití volby check nad šifrovaným bucketem, dojde k vynucenému stahování souborů a zahlcení klienta.

Další doplňkové informace (například použití kontrolních součtů uložených v externím souboru) ke kontrole integrity dat naleznete v dokumentaci rclone na webových stránkách.