Compruebe si se ejecuta el archivo crontab

Compruebe si se ejecuta el archivo crontab

He configurado tareas crontab para que se ejecuten cada minuto.

* * * * * sudo /usr/bin/php /root/scrapers/terra_plf/terra_swap_api.php

Veo su registro en el archivo var/log/syslog:

Jan  3 15:14:01 clearthefog CRON[26579]: (root) CMD (/usr/bin/php     /home/admin/scrapers/terra_plf/terra_swap_api.php)
Jan  3 15:15:01 clearthefog CRON[26623]: (root) CMD (sudo /usr/bin/php /root/scrapers/terra_plf/terra_swap_api.php)

Todavía,no hay nada escrito en la base de datosterra_swap_api.phpcomo debería hacerlo el archivo . ¿Alguna sugerencia por qué? ¿Alguna forma de comprobar si el archivo realmente se ejecuta?

Cuando ejecuto el mismo script en CLI, funciona perfectamente: php terra_swap_api.php

Respuesta1

No puedes simplemente sudo en cron, ya que te pedirá la contraseña de sudo. Tendrías que configurar sudo sin contraseña para ese comando.

Dado que el archivo php está en el directorio /root (tenga en cuenta que es un problema de seguridad), puede instalar el crontab como root ( sudo crontab -e) y colocar la línea allí (sin sudo).

Si su script no requiere privilegios de root, puede ejecutarlo sin sudo, pero tendrá que mover los archivos a una ubicación legible, ya que /root es propiedad del usuario root y está restringido al mismo.

información relacionada