Spec-Zone.ru › Ansible 2.8

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

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

Описание

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

Требования

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

  • cron

Параметры

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

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

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

псевдонимы: dow

Примеры

- name: Ensure a job that runs at 2 and 5 exists. Creates an entry like "0 5,2 * * ls -alh > /dev/null"
  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'
  cron:
    name: "an old job"
    state: absent

- name: Creates an entry like "@reboot /some/job.sh"
  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
  cron:
    name: PATH
    env: yes
    job: /opt/bin

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

- name: Creates a cron file under /etc/cron.d
  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
  cron:
    name: "yum autoupdate"
    cron_file: ansible_yum-autoupdate
    state: absent

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

Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • 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.8/modules/cron_module.html

Spec-Zone.ru

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