Spec-Zone.ru › Ansible 2.9

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

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

Обзор

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

Требования

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

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

псевдонимы: значение
minute
строка
По умолчанию:
"*"
Минута, когда задача должна выполняться (0-59, *, */2 и т. д.)
month
строка
По умолчанию:
"*"
Месяц года, когда задача должна выполняться (1-12, *, */2 и т. д.)
name
строка
Описание записи crontab или, если установлен env, имя переменной окружения.
Требуется, если state=absent.
Обратите внимание, что если name не задано и state=present, то новая запись crontab всегда будет создана, независимо от существующих.
Этот параметр всегда будет обязательным в будущих выпусках.
reboot
boolean
    Варианты:
  • нет ←
  • да
Если задача должна выполняться при перезагрузке. Этот параметр устарел. Пользователи должны использовать special_time.
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.9/modules/cron_module.html

Spec-Zone.ru

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