Basta executá-lo em qualquer horário usando o cron e verifique a parte outro do cronograma no script:
Um caminho:
@reboot /path/to/my_script.sh
if has_run_this_month() {
exit
}
Outra maneira:
0 0 1 * * /path/to/my_script.sh
if has_run_since_reboot() {
exit
}
* Existem vários problemas com esta forma de executar as coisas:
- Você sempre mantém uma máquina funcionando por mais de um mês? Dois meses? O que acontece em ambos os casos?
- Você já deixou a máquina fora por mais de um mês? Você pode ver para onde isso está indo ...
- Como você garante que o caminho onde você persiste o estado (porque você tem para armazená-lo em algum lugar persistente) não seja apagado na inicialização porque é um disco RAM?