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 crontabcomando, ad esempio questa funzione farebbe:
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}
Questa funzione controlla se -resiste nell'argomento di crontab; in tal caso, esce con il messaggio "r" not allowed, altrimenti esegue il comando.
Inseriscilo nel tuo ~/.bashrcper caricarlo al momento dell'inizializzazione di tutte le bashsessioni interattive .
Ti suggerisco di includere
alias crontab="crontab -i"
nel tuo ~/.bashrcfile (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 -rcomando, 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