«««< HEAD
Опция backup в Ansible
=======
Делаем резервные копии файлов в Ansible
9aef28c6fa6479408dd337da21d0425e10f137c3
Я вновь вернулся к очень интересной задаче: полной автоматизации деплоя моих домашних и онлайн серверов с помощью системы Ansible. Создаю группы серверов, разрабатываю роли и перевожу любые элементы настройки серверов и виртуальных машин в Ansible playbooks. Один очень важный момент при распространении файлов средствами Ansible – создание резервных копий, об этом мы сегодня и поговорим.
Резервные копии файлов в Ansible
Чтобы уж точно говорить об одном и том же, позвольте мне уточнить: под резервными копиями файлов в Ansible я имею в виду копии любых файлов, которые мы создаём или копирует на сервер с помощью Ansible playbooks. Речь не идёт о создании бэкапов самих playbooks или файлов настройки среды Ansible – тут разговор именно и только о тех конфигурационных и мелких текстовых файлах, что мы раскладываем на серверах с помощью скриптов Ansible.
Как это работает? Ansible проверяет указанное имя файла, и если на сервере уже существует такой объект, то он переименовывается в то же имя, но с указанием даты и времени работы скрипта Ansible. После этого скрипт продолжает свою работу и создаёт новую копию файла с нужным контентом.
Как активировать резервные копии в Ansible playbooks
Очень просто, на самом деле. Просто добавляем такой флаг в код Ansible:
backup:yes
Бэкап в модуле template
Вот как я это использую в модуле template (создание файла из шаблона):
-name:sudoers for techstack usertemplate:src:templates/sudoers-techstack.j2dest:/etc/sudoers.d/techstackmode:0640backup:yestags:sudo
После добавления этого флага, каждый деплой файла в указанном коде будет создавать копию файла /etc/sudoers.d/techstack, типа /etc/sudoers.d/techstack.10600.2020-01-12@13:21:39~
Не каждый файл или шаблон нуждается в резервном копировании, но большинству это никак не помешает – потому что если что-нибудь случайно сломалось или перезаписалось, то всегда будет сравнительно лёгкий способ восстановить копию из резервной.
Заходите на страницу Facebook или присоединяйтесь к чату в Telegram:
Я использую браузер Brave
Попробуйте сами:
IT Консалтинг
У меня есть консалтинговая компания: Tech Stack Solutions. Я помогаю планировать и создавать облачные решения на базе AWS и помогаю с развёртыванием и поддержкой сервисов на Unix/Linux. Свяжитесь со мной тут.