¿Cuál es la forma correcta para un script en bash para agregar un trabajo a crontab, de tal manera que
- no habrá duplicado de puestos de trabajo
- el archivo crontab no va a ser recurrido
- (opcional) cerca de ser un one-liner
Llegó a través de esta solución de abajo, pero no afecta a la salida de la ejecución de crontab -l
.
grep 'some_user python /mount/share/script.py' /etc/crontab || echo '*/1 * * * * some_user python /mount/share/script.py' >> /etc/crontab
Tratado de convertir a afectar 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 -
pero la ejecución de este comando da el error:
-bash: */1 * * * * some_user python /mount/share/script.py >> /root/foo/logs/foo.cron.log 2>&1: No such file or directory