Voglio scorrere un elenco di script di bash con un cron-job. Cioè ogni due ore voglio iniziare un altro script bash. La mia idea era quella di impostare una nuova variabile d'ambiente, ogni volta che lo script cronjob legge questa variabile d'ambiente e chiama lo script corrispondente e incrementa la variabile d'ambiente.
Ho provato questo, e funziona se chiamo test.sh
dal terminale.
# test.sh
JOB_COUNTER=$((JOB_COUNTER + 1))
echo $JOB_COUNTER
export JOB_COUNTER=$JOB_COUNTER
Se lo metto, chiamalo da dentro crontab
, $JOB_COUNTER
non sembra essere incrementato (lo controllo con echo $JOB_COUNTER
)
Contesto: desidero aggiungere 50 nuovi lavori al nostro cluster ogni due ore, perché se invii tutti i lavori insieme, lo scheduler avvia troppi lavori in parallelo e la maggior parte dei timeout perché l'I / O è troppo lento. Se un cronjob non è quello che si vorrebbe usare, sono aperto ad altre idee.