bash – Verifique si el script lo inicia cron, en lugar de invocarlo manualmente

Pregunta:

¿Hay alguna variable que cron establezca cuando ejecuta un programa? Si el script lo ejecuta cron, me gustaría omitir algunas partes; de lo contrario, invoque esas partes.

¿Cómo puedo saber si cron inicia el script Bash?

Respuesta:

No soy consciente de que cron hace algo en su entorno de forma predeterminada que pueda ser útil aquí, pero hay un par de cosas que podría hacer para obtener el efecto deseado.

1) Cree un enlace myscript o flexible al archivo de secuencia de comandos, de modo que, por ejemplo, myscript y myscript_via_cron apunten al mismo archivo. Luego, puede probar el valor de $0 dentro del script cuando desee ejecutar condicionalmente u omitir ciertas partes del código. Ponga el nombre apropiado en su crontab y listo.

2) Agregue una opción al script y configure esa opción en la invocación crontab. Por ejemplo, agregue una opción -c , que le dice al script que ejecute u omita las partes apropiadas del código, y agregue -c al nombre del comando en su crontab.

Y, por supuesto, cron puede establecer variables de entorno arbitrarias, por lo que podría poner una línea como RUN_BY_CRON="TRUE" en su crontab y verificar su valor en su secuencia de comandos.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım