Cómo configurar un crontab para ejecutar en un momento específico

votos
15

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

En este momento mi crontab se ve algo como esto

@daily /path/to/script.sh
Publicado el 06/08/2008 a las 08:16
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
11

Cuando hagas crontab -e, intenta esto:

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

Eso significa que: a los 59 minutos y 23 horas todos los días (*) todos los días, todos los días laborables, ejecute myscript.

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

Respondida el 06/08/2008 a las 08:21
fuente por usuario

votos
6

Siguiendo con la respuesta de svrist, dependiendo de tu shell, los 2> y 1 deberían ir después de / dev / null o aún verás la salida de stderr.

Lo siguiente silenciará stdout y stderr:

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

El siguiente silence stdout, pero stderr seguirá apareciendo (a través de stdout):

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

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

Respondida el 10/08/2008 a las 08:27
fuente por usuario

votos
6

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

... 2>&1 ....
Respondida el 06/08/2008 a las 08:43
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more