Não estou ciente de que cron
faça qualquer coisa com seu ambiente por padrão que possa ser útil aqui, mas há algumas coisas que você pode fazer para obter o efeito desejado.
1) Faça um link físico ou flexível para o arquivo de script, para que, por exemplo, myscript
e myscript_via_cron
apontem para o mesmo arquivo. Você pode então testar o valor de $0
dentro do script quando quiser condicionalmente executar ou omitir certas partes do código. Coloque o nome apropriado no seu crontab e você está pronto.
2) Adicione uma opção ao script e defina essa opção na invocação do crontab. Por exemplo, adicione uma opção -c
, que instrui o script a executar ou omitir as partes apropriadas do código e adicione -c
ao nome do comando no seu crontab.
E, é claro, o cron pode definir variáveis de ambiente arbitrárias, então você pode simplesmente colocar uma linha como RUN_BY_CRON="TRUE"
no seu crontab e verificar seu valor no script.