ansible.builtin.cron – Управление файлами cron.d и записями crontab
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля cron даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать полное имя класса (FQCN) для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новый в версии 0.9: of ansible.builtin
Описание
- Используйте этот модуль для управления записями crontab и переменных среды. Этот модуль позволяет создавать переменные среды и именованные записи crontab, обновлять или удалять их.
- При управлении заданиями crontab: модуль включает одну строку с описанием записи crontab
"#Ansible: <name>"соответствующей переданному модулю параметру «имя», который используется будущими вызовами ansible/модуль для поиска/проверки состояния. Параметр «имя» должен быть уникальным, и изменение значения «имя» приведёт к созданию новой задачи cron (или удалению другой). - При управлении переменными среды, строка комментария не добавляется, но при необходимости поиска/проверки состояния модуль использует параметр «имя» для поиска строки определения переменной среды.
- При использовании символов, таких как %, они должны быть должным образом экранированы.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- cron (или cronie на CentOS)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| backup boolean |
| Если задано, создаёт резервную копию crontab перед её модификацией. Расположение резервной копии возвращается в переменную backup_file этим модулем. |
| cron_file string | Если указано, использует этот файл вместо crontab отдельного пользователя. Если это относительный путь, он интерпретируется относительно /etc/cron.d. Если это абсолютный путь, он обычно будет /etc/crontab.Многие дистрибутивы Linux ожидают (и некоторые требуют), чтобы часть имени файла состояла только из прописных и строчных букв, цифр, нижних подчеркиваний и дефисов. Для использования параметра cron_file необходимо также указать параметр user. | |
| day string | Значение по умолчанию: "*" | День месяца, в который должна выполняться задача ( 1-31, *, */2, и так далее).алиасы: dom |
| disabled boolean добавлен в 2.0 of ansible.builtin |
| Если задача должна быть отключена (скомментирована) в crontab. Действует только если state=present. |
| env boolean добавлен в 2.1 of ansible.builtin |
| Если задано, управляет переменной среды crontab. Новые переменные добавляются поверх crontab.
name и value — имя и значение переменной среды. |
| hour string | Значение по умолчанию: "*" | Час, когда задача должна выполняться ( 0-23, *, */2, и так далее). |
| insertafter string добавлен в 2.1 of ansible.builtin | Используется с state=present и env. Если указано, переменная среды будет вставлена после объявления указанной переменной среды. | |
| insertbefore string добавлен в 2.1 of ansible.builtin | Используется с state=present и env. Если указано, переменная среды будет вставлена перед объявлением указанной переменной среды. | |
| job string | Команда для выполнения или, если env задано, значение переменной среды. Команда не должна содержать перевода строк. Требуется, если state=present. алиасы: value | |
| minute string | Значение по умолчанию: "*" | Минута, когда задача должна выполняться ( 0-59, *, */2, и так далее). |
| month string | Значение по умолчанию: "*" | Месяц года, в который должна выполняться задача ( 1-12, *, */2, и так далее). |
| name string | Описание записи crontab или, если env задано, имя переменной среды. Требуется, если state=absent. Обратите внимание, что если name не задано и state=present, новая запись crontab всегда будет создана, независимо от существующих. Этот параметр всегда будет обязательным в будущих версиях. | |
| reboot boolean добавлен в 1.0 of ansible.builtin |
| Если задача должна выполняться при перезагрузке. Этот параметр устарел. Пользователям следует использовать special_time. |
| special_time string добавлен в 1.3 of ansible.builtin |
| Псевдоним для специального указания времени. |
| state string |
| Указывает, должно ли задание или переменная среды быть присутствующими или отсутствующими. |
| user string | Конкретный пользователь, чья crontab должна быть изменена. Если не указано, этот параметр по умолчанию принимает значение текущего пользователя. | |
| weekday string | Значение по умолчанию: "*" | День недели, в который должна выполняться задача ( 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/cron_module.html