Ce este modul corect pentru un script bash pentru a adăuga un loc de muncă pentru a crontab, astfel că
- nu va fi nici un duplicat locuri de munca
- crontab fișierul nu va fi apelat
- (opțional) aproape de a fi un one-liner
A venit peste această soluție de mai jos, dar aceasta nu afectează producția de funcționare crontab -l
.
grep 'some_user python /mount/share/script.py' /etc/crontab || echo '*/1 * * * * some_user python /mount/share/script.py' >> /etc/crontab
A încercat conversia de a afecta 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 -
dar care rulează această comandă dă eroare:
-bash: */1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1: No such file or directory