Ejecutar comandos cada 5 minutos

Ejecutar comandos cada 5 minutos

Tengo un sistema de licencias para mi guión. Quiero comprobar si hay una licencia cada 5 minutos.

Agregué mi licensechecker.sha 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 $PATHvariable 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 rebootcomando 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.logesté creado y que la fecha se imprima allí cada minuto.

información relacionada