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í.
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
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.
<hidden 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
</hidden>
s3 příkazy podporují běžné operace s buckety, například vytváření, listování a mazání.
<hidden Práce s buckety>
Vylistování všech s3 bucketů
$ s3cmd ls
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/
</hidden>
<hidden 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/
</hidden>