Бесплатная миграция IT-инфраструктуры в облако
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

Резервное копирование с Duplicity

Duplicity — это утилита командной строки для резервного копирования и восстановления. Резервные копии могут быть загружены в хранилище по протоколам SCP, SFTP, WebDAV, S3, Swift и др. Утилита по умолчанию шифрует бэкапы с помощью GnuPG.

Ниже рассмотрим настройку duplicity для резервного копирования в объектное хранилище Timeweb Cloud по протоколу Swift.

  1. Создайте для хранения резервных копий отдельный бакет.
  2. Установите на сервер пакет 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
  1. Создайте файл 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"
  1. Дайте скрипту права на выполнение командой:
chmod +x backup.sh
  1. Запустите скрипт:
./backup.sh

 

Была ли статья полезна?
Ваша оценка очень важна
Комментарии 2
Анатолий Остроумов
Анатолий Остроумов
08.01.2024, 12:12

не работае, падает с такой ошибкой

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'

Команда Timeweb Cloud
Команда Timeweb Cloud
15.01.2024, 06:12

Попробовали со своей стороны — все отработало корректно. Напишите, пожалуйста, тикет из своей панели, посмотрим, что могло пойти не так 🤔