Резервное копирование при помощи SkyCover Duply
Применимость: Linux
Задача:
Нужно регулярно создавать резервные копии каталога с конфигурационными файлами системы и вебсервера
Решение:
SkyCover Duply (scduply) — это инструмент для управления резервным копированием, на основе конфигурационных файлов и простых команд.
scduply основан на коде duply и использует для резервного копирования программу duplicity.
Отличительные особенности:
- глобальный конфигурационный файл для хранения общих настроек всех заданий;
- опции duplicity «спрятаны» в простые конфигурационные настройки;
- TARGET_URL можно задать глобально и к нему будет автоматически добавляться имя задания;
- команда для последовательного выполнения всех настроенных заданий;
- сохранение журналов работы по каждому сеансу;
- отправка по почте HTML-отчетов с приложенными журналами.
Установка
Нужно установить пакеты duplicity и git
# команда для Debian/Ubuntu: apt-get install duplicity git # команда для RHEL/CentOS: yum install duplicity git
# устанавливаем scduply git clone git://github.com/skycover/scduply.git cd scduply ./install.sh
Примечание: если Вам не удается получить scduply посредством git, Вы можете скачать установить его из tarball-а:
wget https://github.com/skycover/scduply/tarball/master -O scduply.tar.gz tar zxvf scduply.tar.gz cd skycover-scduply-* ./install.sh
Генерируем ключи шифрования и подписи
gpg --gen-key # запомнить ID ключа и пароль ключа
генерируем ключи ssh (если надо)
ssh-keygen
Настройка
Если Вы собираетесь хранить конфигурацию в /etc (доступно только при запуске scduply от root), создайте каталог /etc/scduply:
mkdir /etc/scduply
Иначе конфигурация автоматически разместится в $HOME/.scduply
Инициируем базовый конфиг
scduply init *** The scduply initialized in '/etc/scduply'. The initial global config file is '/etc/scduply/conf'
Отредактируйте файл /etc/scduply/conf
- GPG_KEY — укажите ID ключа, если Вы собираетесь использовать ключ,
- GPG_PW — укажите пароль для ключа GPG, или пароль для симметричного шифрования,
- TARGET — укажите путь (сетевой или локальный) к месту хранения архивов.
В качестве TARGET можно использовать разные варианты, примеры есть в конфиге Например для сохранения на примонтированном диске или NFS каталоге можно указать:
TARGET='file:///mnt/backup/'
Настройка задания
scduply <ЗАДАНИЕ> create
<ЗАДАНИЕ> — имя задания. Будет создан подкаталог с этим именем и шаблонами настроек.
Например для резервирования /etc я создам задание с именем ETC
scduply ETC create *** Created profile 'ETC'. The backup source path is '/etc/scduply/ETC/source'. The exclude globing list is '/etc/scduply/ETC/exclude'. The initial config file is '/etc/scduply/ETC/conf'. IMPORTANT: The profile folder is '/etc/scduply/ETC'. Copy the _whole_ profile folder after the first backup to a safe place. It contains everything needed to restore your backups. You will need it if you have to restore the backup from another system (e.g. after a system crash). Keep access to these files restricted as they contain _all_ informations (gpg data, ftp data) to access and modify your backups. Repeat this step after _all_ configuration changes. Some configuration options are crucial for restoration.
Нужно будет настроить 3 файла
- /etc/scduply/ETC/conf - можно использовать базовый в качестве шаблона
- /etc/scduply/ETC/source - здесь надо перечислить каталоги которые надо бэкапить, я укажу - /etc
- /etc/scduply/ETC/exclude - список каталогов которые не надо бэкапить.
При указании путей надо использовать поный путь от корня ФС.
Файл /etc/scduply/ETC/exclude позволяет использовать шаблоны исключений. Двойная звездочка означает «исключить все
+ /home/dmi/Documents + /home/dmi/Photo - **
Этот вариант будет бэкапить /home/dmi/Documents и /home/dmi/Photo, а все остальное будет исключено
Если Вы хотите, чтобы задание не вызывалось при пакетном запуске командой bkpall (бэкапить все задания), создайте пустой файл /etc/scduply/<JOB>/skip
Резервное копирование
scduply ЗАДАНИЕ backup
или, для бэкапа всех заданий
scduply bkpall
Если в глобальном файле конфигурации настроить переменные MAIL_*, то bkpall будет отсылать по e-mail отчет со сводкой по всем заданиям и журналом.
Восстановление
scduply ЗАДАНИЕ restore КАТАЛОГ-КУДА
Восстановление на 4 дня назад
scduply ЗАДАНИЕ restore КАТАЛОГ-КУДА 4D
Восстановление на 4 дня назад, только каталог will_be_lost
scduply ЗАДАНИЕ restore КАТАЛОГ-КУДА 4D --file-to-restore will_be_lost
Проверка состояния
scduply ЗАДАНИЕ status
Список файлов
scduply ЗАДАНИЕ list [ВОЗРАСТ]
Технические подробности
При начальной инициализации scduply для сохранения настроек использует каталог /etc/scduply (если он был создан до инициализации и программа запущена от root), или каталог ~/.scduply.
В каталоге настроек лежит глобальный файл конфигурации и создаются подкаталоги с профилями заданий бэкапа.
Каждый покаталог задания имеет файлы:
- config — локальный файл конфигурации, в котором можно переопределять установки
- source — файл содержит путь к каталогу, который будет бэкапиться
- exclude — файл шаблонов-исключений (передается duplicity как —exclude-globbing-filelist)
- descr — описание (первая строка) и заметки — все последующие. Создается и используется интерфейсом scdw.
- skip — при наличии, профиль игнорируется командой bkpall
- saved.env, gpg*.asc — файлы, содержащие информацию, достаточнуюдля восстановления на новом компьютере. Создаются автоматически в момент бэкапа.
При резервном копировании scduply создает журнал работы duplicity и записывает его в каталог ~/.scduply/log/ — при локальной установке и /var/log/scduply — при установке в /etc/scduply.
Дополнительная информация
Для более эффективного применения предлагаемых средств резервного копирования, пожалуйста, ознакомьтесь со следующими материалами:
man duplicity
sdcuply usage
man scduply
Восстановление после потери оборудования
Для восстановления данных из архива в случае потери оборудования, Вам понадобиться:
Минимальный набор:
- Ваш GPG-ключ и пароль к нему (или пароль шифрования, если GPG-ключ не использовался). Рекомендуем: сделать копию каталога настроек (ПОСЛЕ осуществления хотя бы одного успешного санса резервного копирования — он уже будет содержать экспортированную копию GPG-ключа).
- ssh-ключ, который использовался для подключения к хранилищу резервных копий. Рекомендуем: сделать копию каталога ~/.ssh.
Полный набор:
Полный набор, необходимый для комфортного восстановления, включает:
- Свежую копию каталога настройки (поскольку она будет содержать полный список настроенных заданий, последние настройки исключений и т.п.);
- Журналы сеансов резервного копирования;
- ssh-ключ для доступа к хранилищу резервных копий.
Мы рекомендуем сохранить в секретном месте GPG-ключ, пароль и ssh-ключ, как было указано выше, и настроить дополнительное задание резервного копирования для сохранения каталога настройки и журналов.
Настройки находится в каталоге/etc/scduply (если он был создан до инициализации и программа запущена от root), или в каталоге ~/.scduply.
Журналы резервного копирования записываются в каталог ~/.scduply/log — при локальной установке и /var/log/scduply — при установке в /etc/scduply.
Смотрите также:
—- Актуальность: 2013/11/13 14:05