---
title: "Резервное копирование с Duplicity — База знаний Timeweb Cloud"
description: "Резервное копирование с Duplicity. Документация и инструкции по управлению IT-инфраструктурой. Timeweb Cloud — облачные решения для вашего бизнеса."
---

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

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

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

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

## Подготовка

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

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

```shell
sudo apt install duplicity
```

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

```shell
pip3 install boto
```

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

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

```bash
#!/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"
```

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

```shell
chmod +x backup.sh
```

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

```shell
./backup.sh
```

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

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

```bash
#!/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"
```

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

```shell
chmod +x restore.sh
```

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

```shell
./restore.sh
```
