Создаём бэкап при копировании файлов с помощью Ansible

Перевод: Use Backups When Deploying with Ansible

«««< HEAD Опция backup в Ansible Опция backup в Ansible ======= Сохраняем резервные копии в 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 user
  template:
    src: templates/sudoers-techstack.j2
    dest: /etc/sudoers.d/techstack
    mode: 0640
    backup: yes
  tags: sudo

После добавления этого флага, каждый деплой файла в указанном коде будет создавать копию файла /etc/sudoers.d/techstack, типа /etc/sudoers.d/techstack.10600.2020-01-12@13:21:39~

Не каждый файл или шаблон нуждается в резервном копировании, но большинству это никак не помешает – потому что если что-нибудь случайно сломалось или перезаписалось, то всегда будет сравнительно лёгкий способ восстановить копию из резервной.

Ну, вот и всё на сегодня. Удачи с Ansible!

Ссылки по теме




Давайте учиться вместе!

Заходите на страницу Facebook или присоединяйтесь к чату в Telegram:
Я использую браузер Brave
Попробуйте сами: Brave Browser
IT Консалтинг
У меня есть консалтинговая компания: Tech Stack Solutions. Я помогаю планировать и создавать облачные решения на базе AWS и помогаю с развёртыванием и поддержкой сервисов на Unix/Linux. Свяжитесь со мной тут.
Последние заметки
19 Sep 2022

Linux Mint как OS для десктопа

08 Jul 2021

rsync over SSH

18 Jun 2021

Вышла CentOS 8.4

Recent Tweets