
Tengo un sistema de licencias para mi guión. Quiero comprobar si hay una licencia cada 5 minutos.
Agregué mi licensechecker.sh
a crontab de esta manera;
*/5 * * * * sh /path/to/file/licensechecker.sh
Pero parece que no funciona. Lo he probado con:
*/1 * * * * reboot
Pero mi VPS no se reinició.
He comprobado los registros:
Sep 3 15:42:01 eyup CRON[23368]: (root) CMD (reboot)
Sep 3 15:42:01 eyup CRON[23366]: (CRON) info (No MTA installed, discarding output)
Sep 3 15:43:01 eyup CRON[23675]: (root) CMD (reboot)
Sep 3 15:43:01 eyup CRON[23674]: (CRON) info (No MTA installed, discarding output)
Sep 3 15:44:01 eyup CRON[24023]: (root) CMD (reboot)
Sep 3 15:44:01 eyup CRON[24022]: (CRON) info (No MTA installed, discarding output)
Sep 3 15:45:01 eyup CRON[24336]: (root) CMD (reboot)
Respuesta1
Cron no usa la RUTA de su usuario,tiene su propia $PATH
variable codificadaque está establecido en /usr/bin:/bin
. Por lo tanto, sólo los comandos almacenados en uno de esos dos directorios se pueden ejecutar por nombre. Para todos los demás, necesita la ruta completa al ejecutable. Dado que su reboot
comando está en /sbin
, necesita esta línea:
*/1 * * * * /sbin/reboot
Sin embargo, esta realmente no es una buena forma de realizar pruebas, ya que tendrá muchas dificultades para eliminar esta línea una vez que funcione, ya que su máquina se reiniciará cada minuto. En su lugar, puedes probar usando un comando seguro como este:
*/1 * * * * /bin/date > /tmp/date.log
Y luego simplemente verifique que el archivo /tmp/date.log
esté creado y que la fecha se imprima allí cada minuto.