¿El trabajo de Cron no se está ejecutando?

19

Tengo un archivo crontab que se ve así:

* * * * * /home/abliskovs/update/update.sh

Sin embargo, cuando miro el registro del sistema para ver si hay evidencia de que el trabajo se ha ejecutado, no hay nada que indique que alguna vez se ejecutó. ¿Cómo puedo verificar si se está ejecutando?

crontab -l muestra lo siguiente:

* * * * * /home/abliskovs/update/update.sh

    
pregunta Alex Bliskovsky 06.01.2012 - 14:52

3 respuestas

18
  

Agregue un & gt; & gt; /tmp/testlog.log al final de su entrada crontab (para redireccionar   salida a un archivo que puede investigar o verificar si se está ejecutando,   adicionalmente, un 2 & gt; & amp; 1 incluiría el resultado de la consola de error)

Ejemplo

  

0 * * * * /home/abliskovs/update/update.sh 2 & gt; & amp; 1 /tmp/testlog.log

También asegúrese de lo siguiente:

  • Agregue cronjobs de manera correcta. si ha utilizado crontab -e dentro de su propia cuenta, los scripts se ejecutan con su usuario (y, por lo tanto, el la entrada crontab tiene un campo menos: el usuario para ejecutarlo, ya que eso es conocido). Si simplemente ha copiado los recortes anteriores en /etc/cron.d, fallaría ya que no especificó un usuario (o mejor dicho, ya que no encuentra usuario llamado "bash").
  • Asegúrese de que el archivo de script sea ejecutable; de ​​lo contrario, no lo hará ejecutarlo.
  • Recarga las tareas cron recargar servicio sudo , o reinicia el servicio cron sudo /etc/init.d/cron restart

¿Cómo hacer que un archivo sea ejecutable?

Varias formas de hacer que tu archivo sea ejecutable

chmod +x /home/abliskovs/update/update.sh 

chmod -R 0755 /home/abliskovs/update/update.sh

chmod a+x /home/abliskovs/update/update.sh
    
respondido por el Md Mahbubur Rahman 11.11.2012 - 04:06
3

Asegúrese de que el archivo de script sea ejecutable {chmod 755} de lo contrario no lo ejecutará

    
respondido por el user25 19.01.2012 - 22:34
0

El script de shell update.sh probablemente contenga errores, por ejemplo algunos comandos que no se pueden ejecutar porque el comando no se puede encontrar. En este caso, puede ser útil agregar la ruta a su comando en la variable PATH, o agregarla directamente a su comando. También ayuda a especificar la dirección de correo electrónico MAILTO, los correos electrónicos que resultan de la ejecución de Cronjobs se envían a esta dirección

PATH=/path/to/your/command:/another/important/path
MAILTO=my_name@my_domain 

También puede verificar el buzón local con mail y el archivo syslog en /var/log/syslog para ver si hay errores. Consulte también esta pregunta relacionada por qué cronjobs pueden no funcionar .

    
respondido por el 0x4a6f4672 22.11.2012 - 11:05

Lea otras preguntas en las etiquetas