Como desabilito um comando específico, por exemplo crontab -r?
Já me aconteceu duas vezes que eu acidentalmente corro isso, porque minha Echave está próxima à Rchave. Esse pequeno erro de digitação é suficiente e seu crontab se foi.
Como desabilito um comando específico, por exemplo crontab -r?
Já me aconteceu duas vezes que eu acidentalmente corro isso, porque minha Echave está próxima à Rchave. Esse pequeno erro de digitação é suficiente e seu crontab se foi.
Respostas:
Use um wrapper ao redor do crontabcomando, por exemplo, esta função faria:
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}
Esta função verifica se -rexiste no argumento de crontab; nesse caso, sai com a mensagem "r" not allowed; caso contrário, executa o comando.
Coloque-o ~/.bashrcpara carregá-lo após a inicialização de todas as bashsessões interativas .
Eu sugiro que você inclua
alias crontab="crontab -i"
no seu ~/.bashrcarquivo (inicie um novo shell antes de testar!)
Isso significa que toda vez que você executa o crontab, sempre seleciona a opção "-i". Se você agora der o crontab -rcomando, ele será processado em crontab -ir, o que solicitará antes de remover o arquivo crontab:
nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n