Cómo configurar un crontab para que se ejecute en un momento específico

StackOverflow https://stackoverflow.com/questions/3136

  •  08-06-2019
  •  | 
  •  

Pregunta

¿Cómo puedo configurar mi crontab para ejecutar el script X a las 11:59 p.m. todos los días sin enviarme un correo electrónico ni crear ningún registro?

En este momento mi crontab se parece a esto

@daily /path/to/script.sh
¿Fue útil?

Solución

Cuando hagas crontab -e, prueba esto:

59 23 * * * /usr/sbin/myscript > /dev/null

Eso significa:A los 59 minutos y 23 horas todos los días (*) de cada mes, todos los días de la semana, ejecute myscript.

Ver hombre crontab para obtener más información y ejemplos.

Otros consejos

Seguimiento de la respuesta de svrist, dependiendo de tu caparazón, el 2>&1 debería ir después > /dev/null o seguirás viendo el resultado de stderr.

Lo siguiente silenciará tanto stdout como stderr:

59 23 * * * /usr/sbin/myscript > /dev/null 2>&1

Lo siguiente silencia la salida estándar, pero stderr seguirá apareciendo (a través de la salida estándar):

59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null

El capítulo de la Guía avanzada de secuencias de comandos Bash sobre redirección de IO es una buena referencia: busque 2>&1 para ver un par de ejemplos.

Con la respuesta anterior, recibirá un correo electrónico con cualquier texto escrito en stderr.Algunas personas también redirigen eso y se aseguran de que el script escriba un registro.

... 2>&1 ....
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top