Spec-Zone.ru › Ansible 2.4

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

  • Описание
  • Требования (для хоста, на котором выполняется модуль)
  • Параметры
  • Примеры
    • Статус

Описание

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

Требования (для хоста, на котором выполняется модуль)

  • cron

Параметры

параметр обязательно по умолчанию выбор комментарии
backup
нет
  • да
  • нет
Если задано, создает резервную копию crontab перед её изменением. Путь к резервной копии возвращается в переменной backup_file этим модулем.
cron_file
нет
Если указано, используется этот файл вместо crontab отдельного пользователя. Если это относительный путь, он интерпретируется относительно /etc/cron.d. (Если это абсолютный путь, обычно это /etc/crontab). Многие дистрибутивы Linux ожидают (и некоторые требуют), что имя файла содержит только буквы, цифры, подчёркивания и дефисы. Чтобы использовать параметр cron_file, необходимо также указать параметр user.
day
нет *
День месяца, в который должна выполняться задача (1-31, *, */2 и т. д.)
псевдонимы: dom
disabled
(добавлено в 2.0)
нет
Если задача должна быть отключена (скомментирована) в crontab. Действует только если state=present
env
(добавлено в 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
нет нет
  • да
  • нет
Если задача должна выполняться при перезагрузке. Этот параметр устарел. Пользователи должны использовать special_time.
special_time
(добавлено в 1.3)
нет
  • reboot
  • yearly
  • annually
  • monthly
  • weekly
  • daily
  • hourly
Псевдоним для специального времени.
state
нет present
  • present
  • absent
Определяет, требуется ли убедиться, что задача или переменная окружения присутствуют или отсутствуют.
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

Статус

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

Для получения помощи в разработке модулей, если вас это интересует, пожалуйста, ознакомьтесь со статьей Информация о сообществе и участие в разработке, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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