Qual è il modo corretto per un bash script per aggiungere un processo di crontab, in modo tale che
- non ci sarà nessun duplicato posti di lavoro
- il file crontab non essere travisato
- (opzionale) vicino ad essere un one-liner
Sono imbattuto in questa soluzione qui di seguito, ma non pregiudica l'uscita di esecuzione crontab -l
.
grep 'some_user python /mount/share/script.py' /etc/crontab || echo '*/1 * * * * some_user python /mount/share/script.py' >> /etc/crontab
Provato a convertire al fine di influire sul crontab -l
,
(crontab -l | grep '/mount/share/script.py') || { crontab -l; '*/1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1'; } | crontab -
ma l'esecuzione di questo comando dà l'errore:
-bash: */1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1: No such file or directory