Duplicity — это утилита командной строки для резервного копирования и восстановления. Резервные копии могут быть загружены в хранилище по протоколам SCP, SFTP, WebDAV, S3, Swift и др. Утилита по умолчанию шифрует бэкапы с помощью GnuPG.
Ниже рассмотрим настройку duplicity
для резервного копирования в объектное хранилище Timeweb Cloud по протоколу Swift.
duplicity
и зависимости. До версии 0.8.x утилита использует Python 2, поэтому для работы со Swift необходимо установить пакет python-swiftclient
. Если версия duplicity 0.8.x или выше, то пакет python3-swiftclient
.sudo apt-get install duplicity
sudo apt-get install python3-swiftclient
backup.sh
со следующим содержимым и замените значения переменных на актуальные. Найти необходимые данные можно в панели управления в настройках бакета.Если в настройках бакета есть раздел «Параметры Swift», необходимо использовать реквизиты из него. Если раздела для Swift нет — используйте реквизиты из блока «Параметры S3».
#!/usr/bin/env bash
export SWIFT_PASSWORD="пароль_от_хранилища"
export SWIFT_AUTHVERSION=2
export SWIFT_TENANTNAME="логин_аккаунта"
export SWIFT_USERNAME="логин_аккаунта"
export SWIFT_AUTHURL="URL"
export PASSPHRASE="пароль_для_шифрования_бэкапа"
source=/home # путь до директории, которую необходимо копировать
dest=имя_бакета # сюда будут загружены резервные копии
duplicity "$source" swift://"$dest"
chmod +x backup.sh
./backup.sh
не работае, падает с такой ошибкой
Container creation failed: ClientException Container PUT failed: https://s3.timeweb.com/v1/TW_cc14378/20c398f1-oldcity 400 Bad Request [first 60 chars of response] b'
BucketAlr'
Попробовали со своей стороны — все отработало корректно. Напишите, пожалуйста, тикет из своей панели, посмотрим, что могло пойти не так 🤔