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