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 crontab
comando, por exemplo, esta função faria:
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}
Esta função verifica se -r
existe no argumento de crontab
; nesse caso, sai com a mensagem "r" not allowed
; caso contrário, executa o comando.
Coloque-o ~/.bashrc
para carregá-lo após a inicialização de todas as bash
sessões interativas .
Eu sugiro que você inclua
alias crontab="crontab -i"
no seu ~/.bashrc
arquivo (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 -r
comando, 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