Solución de problemas de Cron jobs

Generalidades

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

En los siguientes ejemplos, username sería tu usuario Shell y example.com tu sitio web.

Pasos de solución de problemas

Establecer una dirección de correo electrónico

Cuando pruebes tu nuevo cron job, asegúrate de establecer una dirección de correo 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 cron job como se desea.

Solo recibirás un correo si el cron falla, o si el cron job crea la salida para ver.

Establecer los permisos de archivo correctos

Si planeas utilizar software externo con un cron job, 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 del cron job 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 cron job no podría localizar ninguno de estos archivos. En cambio, tu cron job 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 cuando el cron job no se ejecute. Verifica el asunto del correo que se te envió. Comenzará así:

Cron username@server

Toma nota de este username, luego verifica el cron job 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 cron job 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

Cámbialo 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 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, corre este comando en el Servidor Dedicado desde el usuario administrador:

[root]# sudo service cron restart

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?