s3cmd с WebShield S3
s3cmd — лёгкий клиент командной строки для хранилищ S3. С WebShield работает после указания endpoint WebShield. Как получить ключи и создать бакеты — см. Объектное хранилище.
Что понадобится
Заголовок раздела «Что понадобится»- Хост endpoint:
s3.webshield.pro - Access Key ID и Secret Access Key со страницы Хранилище S3 в личном кабинете.
- Полное имя бакета с префиксом аккаунта (например,
u42-backups).
Установка
Заголовок раздела «Установка»# Debian/Ubuntusudo apt install s3cmd# macOSbrew install s3cmd# или через pip: pip install s3cmdНастройка
Заголовок раздела «Настройка»s3cmd нужно указать хост и для API, и для URL бакета, а также path-style адресацию (хост без %(bucket)s в начале). Создайте ~/.s3cfg:
[default]access_key = WSS...secret_key = <секрет>host_base = s3.webshield.prohost_bucket = s3.webshield.pro/%(bucket)suse_https = Truesignature_v2 = FalseСтрока host_bucket с /%(bucket)s после хоста включает path-style адресацию, которая требуется WebShield.
Повседневные команды
Заголовок раздела «Повседневные команды»s3cmd ls # список бакетовs3cmd ls s3://u42-backups/ # список объектовs3cmd put ./dump.sql.gz s3://u42-backups/db/ # загрузитьs3cmd get s3://u42-backups/db/dump.sql.gz . # скачатьs3cmd sync ./media/ s3://u42-backups/media/ # синхронизировать каталогs3cmd del s3://u42-backups/db/dump.sql.gz # удалитьКрупные файлы загружаются multipart-загрузкой автоматически.
Примечания
Заголовок раздела «Примечания»- Бакеты создаются и удаляются только в личном кабинете;
s3cmd mb/s3cmd rbнедоступны. - При отрицательном балансе хранилище переходит в режим «только чтение»: загрузка (
put/sync) отклоняется, скачивание работает. Пополните баланс, чтобы вернуть запись.