Eu consideraria um aplicativo que sobrescreve entradas crontab como bugs. Se você tiver a oportunidade de fazê-lo, entre em contato com os autores do software e envie um relatório de erros.
Não, não há como marcar uma tarefa cron no crontab como "protected". Se você carregar um crontab pré-definido através de
$ crontab crontab.txt
então, ele substituirá todos os trabalhos existentes no crontab atual.
A maneira correta de adicionar entradas crontab programaticamente é salvar o crontab atual em um arquivo, atualizar este arquivo e carregar o crontab de volta. Isto é o que acontece quando você edita o crontab interativamente usando crontab -e
(o crontab
comando faz isso por você).
Em um script, isso pode ser feito com
# dump the current crontab to file:
crontab -l >/tmp/crontab.txt
# some command to update the /tmp/crontab.txt text file, for example:
cat "$HOME/additional_entries.txt" >>/tmp/crontab.txt
# must also make sure that these entries don't already exist, obviously
# reload the modified crontab, which replaces the old one:
crontab /tmp/crontab.txt
rm -f /tmp/crontab.txt