Модуль ansible.builtin.cron — управление записями cron.d и crontab
Примечание
Этот модуль входит в состав ansible-core и включен во все установки Ansible. В большинстве случаев можно использовать краткое имя модуля cron, даже не указывая ключевое слово collections. Однако для удобства перехода к документации модуля и во избежание конфликтов с другими коллекциями, которые могут содержать модуль с таким же именем, рекомендуем использовать полное имя коллекции (FQCN) ansible.builtin.cron.
Краткое описание
- Используйте этот модуль для управления записями crontab и переменными окружения. Модуль позволяет создавать переменные окружения и именованные записи crontab, изменять их или удалять.
- При управлении заданиями crontab модуль добавляет строку с описанием записи crontab
"#Ansible: <name>", соответствующей параметруname, переданному модулю. Эта строка используется при последующих вызовах ansible/module для поиска и проверки состояния. Параметрnameдолжен быть уникальным; изменение значенияnameприведет к созданию нового задания cron (или удалению другого задания). - При управлении переменными окружения строка комментария не добавляется, однако для поиска и проверки состояния модуль использует параметр
name, чтобы найти строку с определением переменной окружения. - При использовании таких символов, как
%, необходимо правильно экранировать их.
Требования
Следующие требования должны быть выполнены на узле, где запускается этот модуль.
- cron (любой вариант, совместимый с «vixie cron», например cronie)
Параметры
Параметр | Комментарии |
|---|---|
backup логический | Если задано, перед изменением crontab создается его резервная копия. Путь к резервной копии возвращается этим модулем в переменной Варианты:
|
cron_file путь | Если указан, используется этот файл вместо crontab отдельного пользователя. Предполагается, что этот файл управляется исключительно модулем. Не используйте этот параметр, если файл содержит несколько записей; НИКОГДА не используйте его для /etc/crontab. Если указан относительный путь, он интерпретируется относительно Многие дистрибутивы Linux ожидают (а некоторые требуют), чтобы имя файла состояло только из букв верхнего и нижнего регистра, цифр, символов подчеркивания и дефисов. Для использования этого параметра необходимо также указать Необходимо указать либо этот параметр, либо |
day псевдонимы: dom строка | День месяца, в который должно запускаться задание ( Нельзя использовать вместе с По умолчанию: |
disabled логический | Следует ли отключить задание (закомментировать его) в crontab. Действует только при условии Варианты:
|
env логический | |
hour строка | Час, в который должно запускаться задание ( Нельзя использовать вместе с По умолчанию: |
insertafter строка | Используется вместе с Если указан, переменная окружения будет добавлена после определения указанной переменной окружения. |
insertbefore строка | Используется вместе с Если указан, переменная окружения будет добавлена перед определением указанной переменной окружения. |
job псевдонимы: value строка | Команда для выполнения или значение переменной окружения, если задано Команда не должна содержать символов переноса строки. Обязательный параметр, если задано |
minute строка | Минута, в которую должно запускаться задание ( Нельзя использовать вместе с По умолчанию: |
month строка | Месяц года, в который должно запускаться задание ( Нельзя использовать вместе с По умолчанию: |
name строка / обязательный | Описание записи crontab или имя переменной окружения, если задано Начиная с ansible-core 2.12 этот параметр всегда является обязательным. |
special_time строка | |
state строка | Следует ли обеспечить наличие или отсутствие задания либо переменной окружения. Варианты:
|
user строка | Пользователь, crontab которого необходимо изменить. Если параметр не задан, по умолчанию используется текущий пользователь. |
weekday псевдонимы: dow строка | День недели, в который должно запускаться задание ( Нельзя использовать вместе с По умолчанию: |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой узел; если режим не поддерживается, действие будет пропущено. |
diff_mode | Поддержка: полная | В режиме diff возвращает сведения об изменениях (или о возможных изменениях в режиме check_mode). |
platform | Платформа: posix | Целевые ОС и семейства ОС, с которыми можно работать |
Примечания
Примечание
- Если у вас возникли проблемы с разрешениями cron в MacOS, обратитесь за дополнительной информацией к официальной документации MacOS.
Примеры
- 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
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/cron_module.html