Spec-Zone.ru › Ansible 2.7

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

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

Описание

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

Требования

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

  • 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
добавлен в 2.0
    Варианты:
  • нет ←
  • да
Если задача должна быть отключена (скомментирована) в crontab.
Эффективен только если state=present.
env
boolean
добавлен в 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
boolean
    Варианты:
  • нет ←
  • да
Если задача должна выполняться при перезагрузке. Этот параметр устарел. Пользователи должны использовать 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. [сообщество]

Авторы

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

Spec-Zone.ru

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