Spec-Zone.ru › Ansible 2.5

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

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

Описание

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

Требования

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

  • cron

Параметры

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

псевдонимы: dom
disabled
(добавлено в 2.0)
    Варианты:
  • no ←
  • yes
Если задание должно быть отключено (скомментировано) в crontab.
Эффективно только если state=present.
env
(добавлено в 2.1)
    Варианты:
  • no ←
  • yes
Если задано, управляет переменной среды 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
    Варианты:
  • no ←
  • yes
Если задание должно выполняться при перезагрузке. Этот параметр устарел. Пользователи должны использовать special_time.
special_time
(добавлено в 1.3)
    Варианты:
  • reboot
  • yearly
  • annually
  • monthly
  • weekly
  • daily
  • hourly
Псевдоним для специального указания времени.
state
    Варианты:
  • absent
  • present ←
Определяет, должно ли задание или переменная среды присутствовать или отсутствовать.
user По умолчанию:
root
Конкретный пользователь, чей crontab должен быть изменен.
weekday По умолчанию:
*
День недели, когда задание должно выполняться (0-6 для воскресенья-субботы, *, и т. д.)

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

Примеры

# 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"

# 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

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

# Creates an entry like "PATH=/opt/bin" on top of crontab
- cron:
    name: PATH
    env: yes
    value: /opt/bin

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

# 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

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

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

Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантированно будет обратной совместимым.

Автор

  • Dane Summers (@dsummersl)
  • Mike Grozak
  • Patrick Callahan
  • 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.5/modules/cron_module.html

Spec-Zone.ru

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