Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот модуль является частью ansible-base и включен во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля cron даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать FQCN для удобной ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.

Новое в версии 0.9: of ansible.builtin

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

Описание

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

Требования

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

  • cron (или cronie на CentOS)

Параметры

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

алиасы: dom
disabled
boolean
добавлен в версии 2.0 ansible.builtin
    Варианты:
  • no ←
  • yes
Если задача должна быть отключена (скомментирована) в crontab.
Действует только если state=present.
env
boolean
добавлен в версии 2.1 ansible.builtin
    Варианты:
  • no ←
  • yes
Если установлено, управляет переменной среды crontab.
Новые переменные добавляются поверх crontab.
name и value - имя и значение переменной среды.
hour
строка
Значение по умолчанию:
"*"
Час, когда задача должна выполняться (0-23, *, */2, и так далее).
insertafter
строка
добавлен в версии 2.1 ansible.builtin
Используется с state=present и env.
Если указано, переменная среды будет вставлена после объявления указанной переменной среды.
insertbefore
строка
добавлен в версии 2.1 ansible.builtin
Используется с 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
добавлен в версии 1.0 ansible.builtin
    Варианты:
  • no ←
  • yes
Если задача должна выполняться при перезагрузке. Этот параметр устарел. Пользователи должны использовать special_time.
special_time
строка
добавлен в версии 1.3 ansible.builtin
    Варианты:
  • ежегодно
  • ежедневно
  • ежечасно
  • ежемесячно
  • при перезагрузке
  • еженедельно
  • ежегодно
Псевдоним для специального указания времени.
state
строка
    Варианты:
  • absent
  • present ←
Определяет, нужно ли убедиться, что задача или переменная среды присутствует или отсутствует.
user
строка
Конкретный пользователь, чей crontab должен быть изменен.
Если не задан, этот параметр по умолчанию равен текущему пользователю.
weekday
строка
Значение по умолчанию:
"*"
День недели, когда задача должна выполняться (0-6 для воскресенья-субботы, *, и так далее).

алиасы: dow

Примечания

Примечание

  • Поддерживает check_mode.

Примеры

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

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

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

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

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

Авторы

  • Dane Summers (@dsummersl)
  • Mike Grozak (@rhaido)
  • Patrick Callahan (@dirtyharrycallahan)
  • Evan Kaufman (@EvanK)
  • Luca Berruti (@lberruti)

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

Spec-Zone.ru

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