Инструменты пользователя

Инструменты сайта


резервное_копирование_в_с_помощью_duply_duplicity

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
резервное_копирование_в_с_помощью_duply_duplicity [2015/07/25 18:15]
admin создано
резервное_копирование_в_с_помощью_duply_duplicity [2015/07/25 18:57] (текущий)
admin
Строка 1: Строка 1:
 ====== Резервное копирование в с помощью duply (duplicity) ====== ====== Резервное копирование в с помощью duply (duplicity) ======
  
-Duply представляет собой shell скрипт,​ являющийся оберткой вокруг другого скрипта - duplicity. Не смотря на то, что сам по себе [[duplicity|http://​duplicity.nongnu.org/​]] является полноценным ПО для создания резервных копий, duply дополняет его функционал рядом полезных свойств,​ упрощающих работу с опциями командной строки для выполнения различных типовых операций.+Duply представляет собой shell скрипт,​ являющийся оберткой вокруг другого скрипта - duplicity. Не смотря на то, что сам по себе [[http://​duplicity.nongnu.org/​|duplicity]] является полноценным ПО для создания резервных копий, duply дополняет его функционал рядом полезных свойств,​ упрощающих работу с опциями командной строки для выполнения различных типовых операций
 + 
 +Резервные копии бывают полные и инкрементальные. Если с полной резервной копией все понятно:​ это просто полная копия всех данных,​ подлежащих резервированию,​ то инкрементальная копия означает,​ что в бэкапе содержится только список изменений относительно предыдущего бэкапа. Инкрементальное резервное копирование с одной стороны позволяет экономить место на дисках,​ но с другой стороны для восстановления данных вам потребуется не только последний инкрементальный бэкап, но и весь перечень всех предыдущих бэкапов вплоть до последнего полного.  
 + 
 +Рассмотрен вариант установки и настройки на Debian. Если вы используете Ubuntu то перед каждой командой добавляйте ''​sudo''​ 
 + 
 +====== Устанавливаем duplicity и duply ====== 
 + 
 +<​code>​ 
 +apt-get install duply duplicity python-boto 
 +</​code>​ 
 + 
 +====== Конфигурируем duply ====== 
 + 
 +Создадим пустой конфигурационный файл duply: 
 + 
 +<​code>​ 
 +duply mybackup create 
 +</​code>​ 
 + 
 +где mybackup - это название профиля,​ где будет описана схема будущего резервного копирования. Профиль будет создан в файле ~/​.duply/​mybackup/​conf. 
 + 
 +В файле /​root/​.duply/​mybackup/​conf,​ потребуется изменить строку TARGET в зависимости куда мы хотим сохранять архивы:​ 
 + 
 +<​code>​ 
 +GPG_KEY='​disabled'​ 
 +TARGET='​s3://​xxxxxxxxxxxxxxxxxx:​xxxxxxxxxxxxxxxxxxx@s3.netangels.ru/​uXXXXX-backup/​uXXXXX-vmZZZZZ'​ 
 +SOURCE='/'​ 
 +MAX_AGE=20D 
 +MAX_FULL_BACKUPS=3 
 +MAX_FULLBKP_AGE=1W 
 +DUPL_PARAMS="​$DUPL_PARAMS --full-if-older-than $MAX_FULLBKP_AGE --volsize $VOLSIZE --s3-multipart-chunk-size=15 " 
 +VOLSIZE=50 
 +</​code>​ 
 + 
 +Параметры:​ 
 +GPG_KEY - Можно включить если нужно шифровать данные. Нам это не требуется,​ так как это увеличивает нагрузку. 
 +TARGET - Это метод путь куда будем сохранять с типом подключения 
 +SOURCE - Начальная точка архивации 
 +MAX_AGE - Количество дней хранения данных 
 +MAX_FULL_BACKUPS - Количество полных резервных копий 
 +MAX_FULLBKP_AGE - Максимальный возраст полных копий (в данном случае 1 неделя) 
 +DUPL_PARAMS - строка из параметров выше 
 +VOLSIZE - Сохранять резервные копии томами по указанное количество мегабайт (рекомендуется 50) 
 + 
 +В файле /​root/​.duply/​mybackup/​exclude укажем какие каталоги не надо архивировать:​ 
 + 
 +<​code>​ 
 +/dev 
 +/proc 
 +/sys 
 +/tmp 
 +/run 
 +/​lib/​modules 
 +</​code>​ 
 + 
 +В файле ''/​root/​.boto''​ если используем s3 то пишем следующее:​ 
 + 
 +<​code>​ 
 +[Boto] 
 +host = s3.netangels.ru 
 +port = 80 
 +is_secure = False 
 +</​code>​ 
 + 
 +====== Создание резервных копий ====== 
 + 
 +При запуске duply следует иметь ввиду, что не смотря на то, что и duply, и duplicity переведены на русский язык, с локалью ru_RU.UTF-8 duplicity не дружит. Поэтому перед запуском duply необходимо сменить локаль на англоязычную:​ 
 + 
 +<​code>​ 
 +export LANG=C;  
 +/​usr/​bin/​duply mybackup backup_purge --force 
 +</​code>​ 
 + 
 +Поставим архивирование по расписанию на каждый день 
 + 
 +Можно создать файл с root правами ''​sudo nano /​root/​backup''​ с содержимым:​ 
 + 
 +<​code>​ 
 +#​!/​bin/​bash 
 +export LANG=C; /​usr/​bin/​duply mybackup backup_purge --force 
 +</​code>​ 
 + 
 +И запускать его, скажем,​ в 6 утра. Добавим это в cron так ''​crontab -e''​ 
 + 
 +<​code>​ 
 +0 6     * * *   ​root ​   /​root/​backup 
 +</​code>​ 
 + 
 +====== Просмотр состояния бэкапов ====== 
 + 
 +<​code>​ 
 +$ export LANG=C; duply mybackup status 
 +... 
 + Type of backup set:                            Time:      Num volumes: 
 +                Full         Tue Feb 25 12:24:20 2014                 1 
 +         ​Incremental ​        Tue Feb 25 12:24:37 2014                 1 
 +         ​Incremental ​        Wed Feb 26 05:28:01 2014                 1 
 +         ​Incremental ​        Wed Feb 26 05:31:44 2014                 1 
 +... 
 +</​code>​ 
 + 
 +Здесь видно, что в наличии имеется 4 резервных копии: одна полная и 3 инкремента. 
 + 
 +====== Восстановление данных из резервной копии ====== 
 + 
 +Восстановление состояния всей папки ''/​var/​www''​ из последнего бэкапа (существующие данные будут перезаписаны):​ 
 + 
 +<​code>​ 
 +export LANG=C; duply mybackup restore /var/www 
 +</​code>​ 
 + 
 +Восстановить файл ''/​var/​www/​index.html''​ по состоянию 4х дневной давности в отдельный файл ''/​tmp/​restore.html''​ (не перезаписывая текущий файл ''/​var/​www/​index.html''​):​ 
 + 
 +<​code>​ 
 +export LANG=C; duply mybackup fetch var/​www/​index.html /​tmp/​restore.html 4D 
 +</​code>​ 
 + 
 +Обратите внимание,​ что путь к файлу внутри бэкапа пишется без начального слэша (/).
  
-Резервные копии бывают полные и инкрементальные. Если с полной резервной копией все понятно:​ это просто полная копия всех данных,​ подлежащих резервированию,​ то инкрементальная копия означает,​ что в бэкапе содержится только список изменений относительно предыдущего бэкапа. Инкрементальное резервное копирование с одной стороны позволяет экономить место на дисках,​ но с другой стороны для восстановления данных вам потребуется не только последний инкрементальный бэкап, но и весь перечень всех предыдущих бэкапов вплоть до последнего полного. К счастью,​ предоставляемое нами облачное хранилище имеет 4х кратное резервирование всех хранимых данных,​ поэтому вероятность потерять какой-то из предыдущих бэкапов и из-за этого получить ситуацию,​ когда восстановить из бэкапа данные из-за аппаратного сбоя в хранилище не удается,​ практически не возможно. 
  
  
 Подробнее о резервном копировании в облачное хранилище s3 по ссылке [[https://​www.netangels.ru/​support/​cloud-storage/​duplicity/​]] Подробнее о резервном копировании в облачное хранилище s3 по ссылке [[https://​www.netangels.ru/​support/​cloud-storage/​duplicity/​]]
резервное_копирование_в_с_помощью_duply_duplicity.1437837317.txt.gz · Последние изменения: 2015/07/25 18:15 — admin