backup
Роль резервного копирования
Эта роль Ansible установит и настроит tarsnap и tarsnapper для создания зашифрованных резервных копий с регулярными интервалами.
Эти резервные копии хранятся с помощью tarsnap, который использует Amazon S3.
Узнайте больше о Tarsnap, онлайн-резервном копировании для самых осторожных.
Требования
- Аккаунт tarsnap с балансом
- Эта роль тестировалась только на Ubuntu 16.04 (я расширю поддержку и для других платформ, если будет интерес, дайте знать, создав запрос)
- Файл конфигурации tarsnapper должен находиться по пути
templates/tarsnapper.yml.j2
в вашем плейбуке (как написать файл конфигурации tarsnapper - Файл конфигурации tarsnap должен находиться по пути
templates/tarsnap.conf.j2
в вашем плейбуке (как написать файл конфигурации tarsnap)
Переменные роли
переменная | значение по умолчанию | назначение |
---|---|---|
backup__rebuild_cache |
false |
Пропустит tarsnap --fsck |
backup__tarsnap_cachedir |
/usr/local/tarsnap-cache |
Устанавливает директорию, которую tarsnap будет использовать для кэширования резервных копий (см. страница man tarsnap.conf) |
backup__tarsnap_keyfile |
/root/tarsnap.key |
Устанавливает путь для сохранения ключа tarsnap |
backup__tarsnap_apt_key |
40B98B68F04DE775 |
ID ключа, используемого для подписи пакета tarsnap |
backup__tarsnap_username |
[email protected] |
Имя пользователя для tarsnap.com (требуется только если нужно создать новый ключ tarsnap) |
backup__tarsnap_password |
encrypt me |
Пароль для tarsnap.com (требуется только если нужно создать новый ключ tarsnap) |
backup__tarsnapper_config_file |
/etc/tarsnapper.yml |
Устанавливает путь, где будет сохранена конфигурация заданий tarsnapper на целевом хосте |
backup__tarsnapper_log_file |
/var/log/tarsnapper.log |
Устанавливает путь, куда будут записываться логи cronjob |
backup__cron_{minute,hour,dom,month,dow} |
соответственно: 28 , 3 , * , * , * |
Интервал, с которым будет выполняться tarsnap для создания резервных копий |
Замечания
Если файл ключа tarsnap не найден по пути files/{{ ansible_hostname }}.yml
, новый ключ Tarsnap будет сгенерирован с использованием переменных backup__tarsnap_username
и backup__tarsnap_password
, а новая машина будет зарегистрирована как {{ ansible_host }}
.
Если ключ tarsnap найден по пути files/{{ ansible_hostname }}.yml
, то этот ключ будет использоваться, и новая генерация ключа или регистрация машины не произойдет.
Если задание Добавить ключ apt tarsnap
не выполняется, это означает, что ключ пакета изменился, но я еще не обновил роль. Проверьте текущий ключ на https://www.tarsnap.com/pkg-deb.html, переопределите его значение с помощью переменной backup__tarsnap_apt_key
, и откройте запрос, чтобы я мог обновить роль с новым ключом.
Зависимости
Отсутствуют.
Пример плейбука
- hosts: all
roles:
- role: coaxial.backup
Лицензия
MIT
Авторская информация
Coaxial <64b.it>
ansible-galaxy install coaxial/ansible-role-backup