Duplicity
Duplicity — интерфейс командной строки для резервного копирования. Duplicity поддерживает протоколы SSH/SCP, FTP, HSI, WebDAV, Tahoe-LAFS и Amazon S3 для соединения с файловым сервером, архивирует данные и загружает их на локальный или удаленный файловый сервер и шифрует данные при помощи утилиты GnuPG.
Настроить Duplicity
1. Настроить доступ
Настроить доступ может пользователь с ролью Владелец аккаунта или Администратор пользователей.
Создайте сервисного пользователя с ролью с доступом в объектное хранилище. Если вы используете пользователя с ролью Пользователь объектного хранилища, в контейнере должна быть настроена политика доступа.
2. Установить клиент
Ubuntu
-
Откройте терминал.
-
Установите Duplicity:
sudo apt-get install duplicity
-
Установите пакеты
python-swiftclient
иlibrsync
:sudo apt-get install python-swiftclient
sudo apt-get install librsync-dev -
Установите систему контроля версий Bazaar и загрузите
swiftbackend
:sudo apt-get install bzr
bzr branch lp:~mhu-s/duplicity/swiftbackend -
Установите
swiftbackend
:cd swiftbackend && sudo python dist/setup.py install
3. Создать конфигурацию Duplicity
-
В текстовом редакторе добавьте скрипт для резервного копирования:
# Авторизационные данные для подключения к хранилищу
SWIFT_PASSWORD="<password>"
SWIFT_AUTHVERSION=2
SWIFT_TENANTNAME="<username>"
SWIFT_AUTHURL=https://<swift_domain>
SWIFT_USERNAME="<username>"
# Выполнение архивирования
duplicity <path> swift://<container_name>
# Очистка авторизационных данных для безопасности
unset SWIFT_PASSWORD
unset SWIFT_AUTHVERSION
unset SWIFT_TENANTNAME
unset SWIFT_AUTHURL
unset SWIFT_USERNAMEУкажите:
<password>
— пароль сервисного пользователя. Если вы забыли пароль, создайте новый;<swift_domain>
— домен Swift API, зависит от пула, в котором находится объектное хранилище;<username>
— имя сервисного пользователя;<path>
— путь к папке на локальной машине;<container_name>
— имя контейнера.
-
Сохраните файл и сделайте его исполняемым:
chmod +x <file_name>
Укажите
<file_name>
— имя файла. -
Запустите выполнение команд из файла:
./<file_name>
-
Укажите кодовое слово для доступа к файлам. Запустится резервное копирование. Статистика отобразится в консоли.
-
Для загрузки зашифрованной резервной копии из хранилища на локальную машину скопируйте скрипт из шага 1.
-
В скрипте замените команду
duplicity <path> swift://<container_name>
наduplicity swift://<container_name> <path>
. -
Сохраните скрипт в файл с именем
restore.sh
и сделайте его исполняемым. При выполнении команды./restore.sh
будет запрошено кодовое слово. После ввода кодового слова все файлы из резервной копии будут загружены в указанную директорию на локальной машине.