Nota

Este módulo es parte de ansible-base e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede utilizar el nombre corto del módulo cron incluso sin especificar el collections: palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.

Nuevo en la versión 0.9: de ansible.builtin

  • Sinopsis
  • Requisitos
  • Parámetros
  • Notas
  • Ejemplos de

Sinopsis

  • Utilice este módulo para administrar las entradas de variables de entorno y crontab. Este módulo le permite crear variables de entorno y entradas crontab con nombre, actualizarlas o eliminarlas.
  • Cuando se administran trabajos crontab: el módulo incluye una línea con la descripción de la entrada crontab "#Ansible: " correspondiente al “nombre” pasado al módulo, que es utilizado por futuras llamadas ansible / módulo para buscar / verificar el estado. El parámetro “nombre” debe ser único, y cambiar el valor “nombre” dará como resultado la creación de una nueva tarea cron (o la eliminación de una diferente).
  • Cuando se administran las variables de entorno, no se agrega ninguna línea de comentarios, pero, cuando el módulo necesita buscar / verificar el estado, utiliza el parámetro “nombre” para encontrar la línea de definición de la variable de entorno.
  • Cuando se utilizan símbolos como%, deben escaparse correctamente.

Requisitos

Los siguientes requisitos son necesarios en el host que ejecuta este módulo.

  • cron (o cronie en CentOS)

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
respaldobooleano
    Opciones:

  • no
Si está configurado, cree una copia de seguridad del crontab antes de modificarlo. La ubicación de la copia de seguridad se devuelve en el backup_file variable por este módulo.
cron_filestring Si se especifica, utiliza este archivo en lugar del crontab de un usuario individual. Si se trata de una ruta relativa, se interpreta con respecto a /etc/cron.d.Si es absoluto, normalmente será /etc/crontabMuchas distribuciones de Linux esperan (y algunas requieren) que la parte del nombre del archivo conste únicamente de letras mayúsculas y minúsculas, dígitos, guiones bajos y guiones. cron_file parámetro debe especificar el usuario así como.
díastring Defecto:
“*”
Día del mes en el que debe ejecutarse el trabajo (1-31, *, */2, etcétera).
alias: dom
discapacitadobooleano agregado en 2.0 de ansible.builtin
    Opciones:

  • no
Si el trabajo debe estar deshabilitado (comentado) en el crontab, solo tiene efecto si estado = presente.
envbooleano agregado en 2.1 de ansible.builtin
    Opciones:

  • no
Si se establece, administra la variable de entorno de un crontab. Se agregan nuevas variables en la parte superior de crontab.nombre y valor los parámetros son el nombre y el valor de la variable de entorno.
horastring Defecto:
“*”
Hora en la que debería ejecutarse el trabajo (0-23, *, */2, etcétera).
insertar despuésstring agregado en 2.1 de ansible.builtin Usado con estado = presente y env.Si se especifica, la variable de entorno se insertará después de la declaración de la variable de entorno especificada.
insertar antesstring agregado en 2.1 de ansible.builtin Usado con estado = presente y env.Si se especifica, la variable de entorno se insertará antes de la declaración de la variable de entorno especificada.
trabajostring El comando a ejecutar o, si se establece env, el valor de la variable de entorno. El comando no debe contener saltos de línea. estado = presente.
alias: valor
minutostring Defecto:
“*”
Minuto en el que debería ejecutarse el trabajo (0-59, *, */2, etcétera).
messtring Defecto:
“*”
Mes del año en el que debe ejecutarse el trabajo (1-12, *, */2, etcétera).
nombrestring Descripción de una entrada crontab o, si se establece env, el nombre de la variable de entorno. estado = ausente.Tenga en cuenta que si no se establece el nombre y estado = presente, entonces siempre se creará una nueva entrada crontab, independientemente de las existentes. Este parámetro siempre será necesario en futuras versiones.
reiniciarbooleano agregado en 1.0 de ansible.builtin
    Opciones:

  • no
Si el trabajo debe ejecutarse al reiniciar. Esta opción está obsoleta. Los usuarios deben usar tiempo especial.
tiempo especialstring agregado en 1.3 de ansible.builtin
    Opciones:

  • anualmente
  • diario
  • cada hora
  • mensual
  • reiniciar
  • semanalmente
  • anual
Apodo de especificación de tiempo especial.
estadostring
    Opciones:

  • ausente
  • regalo
Ya sea para asegurarse de que la variable de trabajo o de entorno esté presente o ausente.
usuariostring El usuario específico cuyo crontab debe modificarse. Cuando no se configura, este parámetro se establece de forma predeterminada en el usuario actual.
día laborablestring Defecto:
“*”
Día de la semana en el que debe ejecutarse el trabajo (0-6 de domingo a sábado, *, etcétera).
alias: dow

Notas

Nota

  • Apoyos check_mode.

Ejemplos de

-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

Autores

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