Solución de problemas de Cron job

Generalidades

Este artículo cubre algunos problemas comunes y pasos de solución de problemas que puede seguir para arreglar sus trabajos cron.

Pasos de solución de problemas

Establecer una dirección de correo electrónico

Cuando pruebes tu nuevo trabajo cron, asegúrate de establecer una dirección de correo electrónico para informar los resultados. Esto te brinda información importante sobre lo que puede estar yendo mal si la línea de comando no ejecuta el trabajo cron como se desea.

Solo recibirás un correo electrónico si el cron falla, o si el trabajo cron crea la salida para ver.

Establecer los permisos de archivo correctos

Si planeas utilizar software externo con un trabajo cron, asegúrate de haber configurado 'write' y otros permisos para los archivos en tus carpetas remotas. Si recibes un mensaje de error sobre "permiso denegado", significa que tus permisos no están configurados correctamente. También especificar la ruta completa del archivo en el que estás escribiendo puede evitar problemas con el entorno cron ejecutándose desde un directorio diferente.

Usar rutas de archivo completas

El crontab del servidor necesita saber exactamente dónde leer y escribir archivos. Por ejemplo, si ejecutas manualmente el siguiente archivo llamado 'file.sh', creará un nuevo archivo llamado 'output.txt' en el directorio en el que ejecuta el comando.

[server]$ sh file.sh > output.txt

Sin embargo, un trabajo cron no podría localizar ninguno de estos archivos. En cambio, tu trabajo cron necesitaría especificar las rutas completas como esta:

0 12 * * * sh /home/username/example.com/file.sh > /home/username/example.com/output.txt

Mensajes de Error

Could not open input file

Es posible que te enviemos un correo electrónico cuando el trabajo cron no se ejecute. Verifica el asunto del correo electrónico que se te envió. Comenzará así:

Cron <username@server>

Toma nota de este 'nombre de usuario', luego verifica el trabajo Cron que creaste en el panel. Estos deberían ser el mismo nombre de usuario. Si el nombre de usuario es diferente de lo que ves en el panel, asegúrate de ajustar tu trabajo cron al nombre de usuario correcto.

Además, asegúrate de que los permisos del archivo estén configurados para que el usuario pueda ejecutarlo. Esto generalmente significa 644 permisos para un archivo y 755 para un directorio.

No such file or directory

Verifica las rutas de tus archivos. Intenta agregar la ruta completa del archivo al archivo que estás intentando ejecutar, así como la ruta completa del archivo a cualquier archivo en el que estés escribiendo. Por ejemplo, en lugar de:

cat file.txt

Cambialo a:

cat /home/username/example.com/file.txt

Solución de problemas de servidor dedicado

Es raro que el servicio cron en un servidor deje de ejecutarse. Sin embargo, si estás utilizando un servidor dedicado, puedes verificar que el cron se esté ejecutando ejecutando este comando de shell:

[server]$ ps aux | grep cron

También puedes verificar el registro del sistema para ver las entradas etiquetadas como 'CRON' después de cambiar tu usuario administrador y ejecutar los siguientes comandos.

[server]$ sudo su -
[root]# sudo grep CRON /var/log/syslog

Si no ves ninguna entrada CRON reciente, puedes reiniciar el servicio cron. Para reiniciar cron, ejecuta este comando en el servidor dedicado desde el usuario administrador:

[root]# sudo service cron restart

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?