Установка и настройка Duplicity
Duplicity поддерживает различные протоколы для соединения с файловым сервером: SSH/SCP, FTP, HSI, WebDAV, Tahoe-LAFS и Amazon S3, архивирует данные и загружает их на локальный или удаленный файловый сервер, но еще и шифрует их при помощи утилиты GnuPG, обеспечивая тем самым дополнительную защиту.
Программа Duplicity включена в репозитории большинства современных Linux-систем и устанавливается при помощи стандартного менеджера пакетов. Мы рассмотрим пример для Ubuntu:
Установите:
sudo apt-get install duplicity
Для работы с облачным хранилищем на клиентской машине должны быть обязательно установлены пакеты python-swiftclient и librsync:
sudo apt-get install python-swiftclient sudo apt-get install librsync-dev
Установите плагин swiftbackend. Сначала скорируйте с launchpad соответствующий репозиторий (для этого на клиентскую машину потребуется также установить систему контроля версий Bazaar — Launchpad использует именно ее):
sudo apt-get install bzr bzr branch lp:~mhu-s/duplicity/swiftbackend
Выполните команду:
cd swiftbackend && sudo python dist/setup.py install
По завершении установки Duplicity будет готова к работе с Облачным хранилищем. Откройте любой текстовый редактор и напишите небольшой скрипт для резервного копирования:
# Авторизационные данные для подключения к хранилищу SWIFT_PASSWORD="пароль для входа в хранилище" SWIFT_AUTHVERSION=2 SWIFT_TENANTNAME="имя пользователя" SWIFT_AUTHURL=https://api.selcdn.ru/v2.0 SWIFT_USERNAME="имя пользователя" # Выполнение архивирования duplicity /путь к папке/на клиентской машине swift://имя контейнера в хранилище # Очистка авторизационных данных для безопасности unset SWIFT_PASSWORD unset SWIFT_AUTHVERSION unset SWIFT_TENANTNAME unset SWIFT_AUTHURL unset SWIFT_USERNAME
Сохраните этот файл под именем, например, backup.sh и сделайте его исполняемым:
chmod +x backup.sh
Выполните следующую команду:
./backup.sh
Далее GnuPG запросит кодовое слово для доступа к файлам. Далее начнется резервное копирование. Статистка будет отображена в консоли:
--------------[ Статистика резервного копирования ]--------------
StartTime 1391068911.00 (Thu Jan 30 12:01:51 2014)
EndTime 1391068911.02 (Thu Jan 30 12:01:51 2014)
ElapsedTime 0.02 (0.02 seconds)
SourceFiles 5
SourceFileSize 190210 (186 KB)
NewFiles 5
NewFileSize 190210 (186 KB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 5
RawDeltaSize 186114 (182 KB)
TotalDestinationSizeChange 185217 (181 KB)
Errors 0
-----------------------------------------------------------------
В указанный контейнер Облачного хранилища будут добавлены новые файлы:
duplicity-full-signatures.20140130T073550Z.sigtar.gpg
duplicity-full.20140130T073550Z.manifest.gpg
duplicity-full.20140130T073550Z.vol1.difftar.gpg
Чтобы загрузить зашифрованную резервную копию из хранилища на локальную машину, нужно написать скрипт, содержащий те же самые авторизационные данные и отличающейся от приведенного выше только строчкой команды:
duplicity swift://имя контейнера /путь/к папке/на локальной/машине
Сохраните этот скрипт под именем restore.sh и сделайте соответствующий файл исполняемым.
При выполнении команды ./restore.sh GnuPG запросит кодовое слово. После ввода кодового слова все файлы из резервной копии будут загружены в указанную директорию на локальной машине.