Come disabilito un comando specifico, ad esempio crontab -r
?
Mi è già successo due volte che l'ho eseguito per errore, perché la mia Echiave è accanto alla Rchiave. Quel piccolo errore di battitura è sufficiente e il tuo crontab è sparito.
Come disabilito un comando specifico, ad esempio crontab -r
?
Mi è già successo due volte che l'ho eseguito per errore, perché la mia Echiave è accanto alla Rchiave. Quel piccolo errore di battitura è sufficiente e il tuo crontab è sparito.
Risposte:
Utilizzare un wrapper attorno al crontab
comando, ad esempio questa funzione farebbe:
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}
Questa funzione controlla se -r
esiste nell'argomento di crontab
; in tal caso, esce con il messaggio "r" not allowed
, altrimenti esegue il comando.
Inseriscilo nel tuo ~/.bashrc
per caricarlo al momento dell'inizializzazione di tutte le bash
sessioni interattive .
Ti suggerisco di includere
alias crontab="crontab -i"
nel tuo ~/.bashrc
file (avvia una nuova shell prima del test!)
Ciò significa che ogni volta che si esegue crontab, si seleziona sempre l'opzione "-i". Se ora si dà il crontab -r
comando, viene elaborato in crontab -ir
, che richiede prima di rimuovere il file crontab:
nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n