Necesito configurar un trabajo cron que ejecute un ejecutable compilado usando gcc una vez cada hora.
Me conecté como root y escribí crontab -e
Luego ingresé lo siguiente y guardé el archivo.
0 * * * * /path_to_executable
Sin embargo, el trabajo cron no funciona.
Veo que cuando escribo /...path_to_executable
me sale un error de segmentación. Solo puedo ejecutar el ejecutable desde la carpeta en la que se encuentra. ¿Hay alguna manera de resolver este problema?
Respuestas:
debería funcionar a menos que haya algo más que deba configurarse para que se ejecute el programa.
fuente
La solución para resolver esto es averiguar por qué tiene la falla de segmentación y solucionarlo.
fuente
También puede utilizar
@hourly
instant of0 * * * *
fuente
@hourly
es un sinónimo exacto de0 * * * *
, no hay diferencia.¿Quiso decir que el ejecutable no se ejecuta si se invoca desde cualquier otro directorio? Esto es más bien un error en el ejecutable. Una posible razón podría ser que el ejecutable requiera algunas bibliotecas compartidas de la carpeta instalada. Puede verificar la variable de entorno
LD_LIBRARY_PATH
fuente
Si estás usando Ubuntu, se puede poner un script de shell en una de estas carpetas:
/etc/cron.daily
,/etc/cron.hourly
,/etc/cron.monthly
o/etc/cron.weekly
.Para obtener más detalles, consulte esta publicación: /ubuntu/2368/how-do-i-set-up-a-cron-job
fuente
Como no pude ejecutar el
C
ejecutable de esa manera, escribí un simpleshell script
que hace lo siguienteEn la lista de trabajos cron, llamo al script de shell.
fuente
utilizar
para ver el resultado de su comando, también los errores se pueden redirigir con
también puedes usar
crontab -l
para comprobar si se guardaron sus ediciones.
fuente