Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

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

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

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

Подготовка

Создайте для хранения резервных копий отдельный бакет.

Установите пакет duplicity:

    
sudo apt install duplicity

И установите пакет boto:

    
pip3 install boto

Скрипт для создания резервной копии

Создайте файл backup.sh со следующим содержимым и замените значения переменных на актуальные. Найти необходимые данные можно в панели управления в настройках бакета.

    
#!/usr/bin/env bash export AWS_ACCESS_KEY_ID="S3 Access Key" export AWS_SECRET_ACCESS_KEY="S3 Secret Access Key" export PASSPHRASE="пароль_для_шифрования_бэкапа" endpoint_url="https://s3.twcstorage.ru" endpoint_host="s3.twcstorage.ru" # Путь до директории, которую необходимо копировать source=/home # Имя бакета и путь внутри него bucket=имя_бакета path_in_bucket=backup # Запуск duplicity duplicity \ --s3-endpoint-url="$endpoint_url" \ "$source" "s3://$endpoint_host/$bucket/$path_in_bucket"

Дайте скрипту права на выполнение командой:

    
chmod +x backup.sh

Запустите скрипт:

    
./backup.sh

Скрипт для восстановления из резервной копии

Для восстановления файлов из бэкапа также можно использовать скрипт. Создайте файл restore.sh со следующим содержимым:

    
#!/usr/bin/env bash export AWS_ACCESS_KEY_ID="S3 Access Key" export AWS_SECRET_ACCESS_KEY="S3 Secret Access Key" export PASSPHRASE="пароль_для_шифрования_бэкапа" endpoint_url="https://s3.twcstorage.ru" endpoint_host="s3.twcstorage.ru" bucket=имя_бакета path_in_bucket=backup restore_path=/home/restore_test # сюда восстановим данные duplicity \ --s3-endpoint-url="$endpoint_url" \ "s3://$endpoint_host/$bucket/$path_in_bucket" \ "$restore_path"

Дайте скрипту права на выполнение:

    
chmod +x restore.sh

Запустите скрипт:

    
./restore.sh
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев