Spec-Zone.ru › Ansible 2.6

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

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

Описание

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

Требования

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

  • cron

Параметры

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

алиасы: dom
disabled
bool

(добавлено в 2.0)
    Варианты:
  • нет ←
  • да
Если задача должна быть отключена (закомментирована) в crontab.
Эффективно только если state=present.
env
bool

(добавлено в 2.1)
    Варианты:
  • нет ←
  • да
Если установлено, управляет переменной окружения crontab. Новые переменные добавляются поверх crontab. Параметры «имя» и «значение» - имя и значение переменной окружения.
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
bool
    Варианты:
  • нет ←
  • да
Если задача должна выполняться при перезагрузке. Этот параметр устарел. Пользователи должны использовать special_time.
special_time
(добавлено в 1.3)
    Варианты:
  • перезагрузка
  • ежегодно
  • ежегодно
  • ежемесячно
  • еженедельно
  • ежедневно
  • ежечасно
Псевдоним для специальной временной спецификации.
state
    Варианты:
  • отсутствует
  • присутствует ←
Определяет, присутствует или отсутствует задача или переменная окружения.
user Значение по умолчанию:
"root"
Конкретный пользователь, чья crontab должна быть изменена.
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
    value: /opt/bin

- name: 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

- 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. Для получения дополнительной информации см. Техническое обслуживание и поддержка модулей.

Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.

Автор

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

Spec-Zone.ru

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