Qual é a maneira correta para um bash script para adicionar uma tarefa crontab, tais que
- não haverá vagas duplicadas
- o arquivo crontab não será recorrido
- (opcional) perto de ser um one-liner
Deparei com esta solução abaixo, mas não afeta a saída da execução de crontab -l
.
grep 'some_user python /mount/share/script.py' /etc/crontab || echo '*/1 * * * * some_user python /mount/share/script.py' >> /etc/crontab
Tentou convertê-lo para afetar 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 -
mas executando este comando dá o erro:
-bash: */1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1: No such file or directory