Comment désactiver une commande spécifique, par exemple crontab -r
?
Il m'est déjà arrivé deux fois de le faire accidentellement, car ma Eclé est à côté de la Rclé. Cette petite faute de frappe suffit et votre crontab a disparu.
Comment désactiver une commande spécifique, par exemple crontab -r
?
Il m'est déjà arrivé deux fois de le faire accidentellement, car ma Eclé est à côté de la Rclé. Cette petite faute de frappe suffit et votre crontab a disparu.
Réponses:
Utilisez un wrapper autour de la crontab
commande, par exemple, cette fonction ferait:
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}
Cette fonction vérifie s'il -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 lors de l'initialisation de toutes les bash
sessions interactives .
Je vous suggère d'inclure
alias crontab="crontab -i"
dans votre ~/.bashrc
fichier (lancez 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 crontab -r
commande, elle est traitée à crontab -ir
, ce qui vous invite avant de supprimer le fichier crontab:
nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n