Se este script for executado como root ... então a remoção da entrada do crontab pode ser feita removendo sua linha crontab de / var / spool / cron / root. (Isso é o que crontab -l
e crontab -e
use).
No final dos seus comandos de exclusão, adicione a seguinte linha (substituindo {padrão} pelo seu nome de script):
sed -i '/{pattern}/d' /var/spool/cron/root
Então, se a sua entrada em crontab que executa code.sh se parece com
0 21 * * * /etc/cron.daily/code.sh
O comando seria:
sed -i '/code.sh/d' /var/spool/cron/root
Isto irá remover a linha contendo "code.sh" do seu arquivo crontab raiz.
Você pode adicionar a linha acima ao final do seu script para que ambos os arquivos sejam excluídos e a entrada seja removida do crontab. Como o @Barmar afirmou, você pode simplesmente deletar ambas as pastas ao longo do tempo.
Sim, esta é uma pergunta muito antiga, mas a pergunta direta sobre a remoção de crontab especificamente ainda precisava de uma resposta.