Работа с S3 через s3cmd

Работа с S3 через s3cmd#

Подключение#

Получить значения ACCESS_KEY и SECRET_KEY, сохранить их в одноимённых переменных. Выполнить следующие команды:

set -u
S3HOST=s3.msk-1.ngcloud.ru
echo -e "\n\n\n\n\n\n\n\n\nn\ny\n\n" | s3cmd --configure
sed -e "/^access_key/s/=.*/= $ACCESS_KEY/" ~/.s3cfg -i
sed -e "/^secret_key/s/=.*/= $SECRET_KEY/" ~/.s3cfg -i
sed -e "/^host_base/s/=.*/= $S3HOST/" ~/.s3cfg -i
sed -e "/^host_bucket/s/=.*/= $S3HOST/" ~/.s3cfg -i
sed -e "/^bucket_location/d" ~/.s3cfg -i
sed -e "/^use_https/s/=.*/= True/" ~/.s3cfg -i

Создание бакета в хранилище COLD#

set -u
BUCKET_NAME=testbucketcold
s3cmd mb s3://$BUCKET_NAME --bucket-location=:COLD

Создание бакета в хранилище HOT#

set -u
BUCKET_NAME=testbuckethot
s3cmd mb s3://$BUCKET_NAME

Добавление объекта в бакет с наследованием политики#

set -u
BUCKET_NAME=testbucketcold
OBJECT_NAME= #optional
LOCAL_FILE=/home/test.iso
s3cmd put "$LOCAL_FILE" s3://$BUCKET_NAME/$OBJECT_NAME

Остальные операции#

s3cmd --help