cs:navody:object_storage:s3cmd:start

Linux klient s3cmd

S3cmd je bezplatný nástroj příkazového řádku a klient pro nahrávání, načítání a správu dat v s3 cloudových úložišťích. S3cmd je psán v Pythonu. Je to open source projekt dostupný pod GNU Public License v2 (GPLv2) a je zdarma pro komerční i soukromé použití.

Jako preferovaný nástroj doporučujeme spíše AWS CLI.
U s3cmd jsme v některých případech zaznamenali problémy. Kupříkladu jména bucketů nesmí začínat číslem a velká písmena.

Instalace s3cmd

s3cmd je k dispozici ve výchozích repozitářích rpm pro systémy CentOS, RHEL a Ubuntu. Nainstalujte jej pomocí jednoduchého spuštění následujících příkazů ve vašem systému.

Na CentOS/RHEL:

$ sudo yum install s3cmd 

Na Ubuntu/Debian:

$ sudo apt install s3cmd 

Konfigurace s3cmd

Do konfiguračního souboru /home/user/.s3cfg vložte následující.

[default]
host_base = https://s3.clX.du.cesnet.cz
use_https = True
access_key = xxxxxxxxxxxxxxxxxxxxxx
secret_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
host_bucket = s3.clX.du.cesnet.cz

Host base a Host bucket je S3 endpoint, který jste spolu s Access Key a Secret Key obdrželi během tvorby vašeho S3 účtu.

Konfigurační soubor s GPG šifrováním

Konfigurační soubor s GPG šifrováním

[default]
host_base = https://s3.clX.du.cesnet.cz
use_https = True
access_key = xxxxxxxxxxxxxxxxxxxxxx
secret_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
host_bucket = s3.clX.du.cesnet.cz
gpg_command = /usr/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Použití s3cmd příkazů

s3 příkazy podporují běžné operace s buckety, například vytváření, listování a mazání.

Práce s buckety

Práce s buckety

Vylistování všech s3 bucketů

$ s3cmd ls 
Jméno bucketu musí být unikátní a mělo by obsahovat pouze malá písmena, čísla a pomlčky a tečky. Název bucketu musí začínat pouze písmenem nebo číslem a nesmí obsahovat tečky vedle pomlček nebo více teček. Dále doporučujeme nepoužívat „/“ v názvu, protože by to znemožnilo jeho použití přes API.

Výroba nového s3 bucketu

$ s3cmd mb s3://newbucket 

Odstranění s3 bucketu

$ s3cmd rb s3://newbucket 

Bucket jde odstranit pouze prázdný!

Vypsání velikosti s3 bucketu

$ s3cmd du s3://newbucket/ 


Práce se soubory a adresáři

Práce se soubory a adresáři

Vylistování obsahu s3 bucketu

$ s3cmd ls s3://newbucket/ 

Nahrávání dat do s3 bucketu

Upload souborů

$ s3cmd put file.txt s3://newbucket/ 

Upload zašifrovaných souborů

$ s3cmd put -e file.txt s3://​newbucket/​

Upload složek

$ s3cmd put -r directory s3://newbucket/ 

Ujistěte se, že nepřidáváte koncové lomítko v adresáři (např .: directory/), jinak nahraje pouze obsah adresáře.

Stahování souboru z s3 bucketu

$ s3cmd get s3://newbucket/file.txt 

Odstranění dat z s3 bucketu

$ s3cmd del s3://newbucket/file.txt 
$ s3cmd del s3://newbucket/directory 

Synchronizování dat do s3 bucketu

$ s3cmd sync /local/path/ s3://newbucket/backup/ 

Synchronizování dat z s3 bucketu

$ s3cmd sync s3://newbucket/backup/ ~/restore/ 


Poslední úprava:: 05.01.2024 13:38