Comment désactiver une commande spécifique, par exemple crontab -r
?
Il m'est déjà arrivé à deux reprises de courir par hasard parce que mon E la clé est à côté du R clé. Cette petite faute de frappe suffit et votre crontab est parti.
Utilisez un wrapper autour de la commande crontab
, par exemple cette fonction ferait:
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}
Cette fonction vérifie si -r
existe dans l'argument de crontab
; si c'est le cas, quitte avec le message "r" not allowed
, sinon exécute la commande.
Mettez-le dans votre ~/.bashrc
pour le charger à l'initialisation de toutes les sessions interactives bash
.
Je vous suggère d'inclure
alias crontab="crontab -i"
dans votre fichier ~/.bashrc
(commencez un nouveau shell avant de tester!)
Cela signifie que chaque fois que vous exécutez crontab, vous sélectionnez toujours l'option "-i". Si vous donnez maintenant la commande crontab -r
, elle est traitée à crontab -ir
, ce qui vous invite à supprimer le fichier crontab:
nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n