Quelle est la façon correcte pour un script bash pour ajouter une tâche dans crontab, tels que
- il n'y aura pas de doublons
- le fichier crontab ne sera pas recouru
- (facultatif) près d'être un one-liner
Suis tombé sur cette solution ci-dessous, mais il n'affecte pas la sortie de l'exécution de crontab -l
.
grep 'some_user python /mount/share/script.py' /etc/crontab || echo '*/1 * * * * some_user python /mount/share/script.py' >> /etc/crontab
Essayé de le convertir à affecter 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 -
mais l'exécution de cette commande donne l'erreur:
-bash: */1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1: No such file or directory