Spec-Zone.ru › Ansible 2.10

ansible.builtin.cron – Управление файлами cron.d и записями crontab

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля cron даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать полное имя класса (FQCN) для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.

Новый в версии 0.9: of ansible.builtin

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры

Описание

  • Используйте этот модуль для управления записями crontab и переменных среды. Этот модуль позволяет создавать переменные среды и именованные записи crontab, обновлять или удалять их.
  • При управлении заданиями crontab: модуль включает одну строку с описанием записи crontab "#Ansible: <name>" соответствующей переданному модулю параметру «имя», который используется будущими вызовами ansible/модуль для поиска/проверки состояния. Параметр «имя» должен быть уникальным, и изменение значения «имя» приведёт к созданию новой задачи cron (или удалению другой).
  • При управлении переменными среды, строка комментария не добавляется, но при необходимости поиска/проверки состояния модуль использует параметр «имя» для поиска строки определения переменной среды.
  • При использовании символов, таких как %, они должны быть должным образом экранированы.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • cron (или cronie на CentOS)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
backup
boolean
    Варианты:
  • no ←
  • yes
Если задано, создаёт резервную копию crontab перед её модификацией. Расположение резервной копии возвращается в переменную backup_file этим модулем.
cron_file
string
Если указано, использует этот файл вместо crontab отдельного пользователя.
Если это относительный путь, он интерпретируется относительно /etc/cron.d.
Если это абсолютный путь, он обычно будет /etc/crontab.
Многие дистрибутивы Linux ожидают (и некоторые требуют), чтобы часть имени файла состояла только из прописных и строчных букв, цифр, нижних подчеркиваний и дефисов.
Для использования параметра cron_file необходимо также указать параметр user.
day
string
Значение по умолчанию:
"*"
День месяца, в который должна выполняться задача (1-31, *, */2, и так далее).

алиасы: dom
disabled
boolean
добавлен в 2.0 of ansible.builtin
    Варианты:
  • no ←
  • yes
Если задача должна быть отключена (скомментирована) в crontab.
Действует только если state=present.
env
boolean
добавлен в 2.1 of ansible.builtin
    Варианты:
  • no ←
  • yes
Если задано, управляет переменной среды crontab.
Новые переменные добавляются поверх crontab.
name и value — имя и значение переменной среды.
hour
string
Значение по умолчанию:
"*"
Час, когда задача должна выполняться (0-23, *, */2, и так далее).
insertafter
string
добавлен в 2.1 of ansible.builtin
Используется с state=present и env.
Если указано, переменная среды будет вставлена после объявления указанной переменной среды.
insertbefore
string
добавлен в 2.1 of ansible.builtin
Используется с state=present и env.
Если указано, переменная среды будет вставлена перед объявлением указанной переменной среды.
job
string
Команда для выполнения или, если env задано, значение переменной среды.
Команда не должна содержать перевода строк.
Требуется, если state=present.

алиасы: value
minute
string
Значение по умолчанию:
"*"
Минута, когда задача должна выполняться (0-59, *, */2, и так далее).
month
string
Значение по умолчанию:
"*"
Месяц года, в который должна выполняться задача (1-12, *, */2, и так далее).
name
string
Описание записи crontab или, если env задано, имя переменной среды.
Требуется, если state=absent.
Обратите внимание, что если name не задано и state=present, новая запись crontab всегда будет создана, независимо от существующих.
Этот параметр всегда будет обязательным в будущих версиях.
reboot
boolean
добавлен в 1.0 of ansible.builtin
    Варианты:
  • no ←
  • yes
Если задача должна выполняться при перезагрузке. Этот параметр устарел. Пользователям следует использовать special_time.
special_time
string
добавлен в 1.3 of ansible.builtin
    Варианты:
  • ежегодно
  • ежедневно
  • ежечасно
  • ежемесячно
  • при перезагрузке
  • еженедельно
  • ежегодно
Псевдоним для специального указания времени.
state
string
    Варианты:
  • absent
  • present ←
Указывает, должно ли задание или переменная среды быть присутствующими или отсутствующими.
user
string
Конкретный пользователь, чья crontab должна быть изменена.
Если не указано, этот параметр по умолчанию принимает значение текущего пользователя.
weekday
string
Значение по умолчанию:
"*"
День недели, в который должна выполняться задача (0-6 для воскресенья-субботы, *, и так далее).

алиасы: dow

Примечания

Примечание

  • Поддерживает check_mode.

Примеры

- name: Ensure a job that runs at 2 and 5 exists. Creates an entry like "0 5,2 * * ls -alh > /dev/null"
  ansible.builtin.cron:
    name: "check dirs"
    minute: "0"
    hour: "5,2"
    job: "ls -alh > /dev/null"

- name: 'Ensure an old job is no longer present. Removes any job that is prefixed by "#Ansible: an old job" from the crontab'
  ansible.builtin.cron:
    name: "an old job"
    state: absent

- name: Creates an entry like "@reboot /some/job.sh"
  ansible.builtin.cron:
    name: "a job for reboot"
    special_time: reboot
    job: "/some/job.sh"

- name: Creates an entry like "PATH=/opt/bin" on top of crontab
  ansible.builtin.cron:
    name: PATH
    env: yes
    job: /opt/bin

- name: Creates an entry like "APP_HOME=/srv/app" and insert it after PATH declaration
  ansible.builtin.cron:
    name: APP_HOME
    env: yes
    job: /srv/app
    insertafter: PATH

- name: Creates a cron file under /etc/cron.d
  ansible.builtin.cron:
    name: yum autoupdate
    weekday: "2"
    minute: "0"
    hour: "12"
    user: root
    job: "YUMINTERACTIVE=0 /usr/sbin/yum-autoupdate"
    cron_file: ansible_yum-autoupdate

- name: Removes a cron file from under /etc/cron.d
  ansible.builtin.cron:
    name: "yum autoupdate"
    cron_file: ansible_yum-autoupdate
    state: absent

- name: Removes "APP_HOME" environment variable from crontab
  ansible.builtin.cron:
    name: APP_HOME
    env: yes
    state: absent

Авторы

  • Dane Summers (@dsummersl)
  • Mike Grozak (@rhaido)
  • Patrick Callahan (@dirtyharrycallahan)
  • Evan Kaufman (@EvanK)
  • Luca Berruti (@lberruti)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/cron_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API