¿Cómo desactivo un comando específico, por ejemplo crontab -r?
Ya me pasó dos veces que accidentalmente ejecuté eso, porque mi Eclave está al lado de la Rclave. Ese pequeño error tipográfico es suficiente y su crontab se ha ido.
¿Cómo desactivo un comando específico, por ejemplo crontab -r?
Ya me pasó dos veces que accidentalmente ejecuté eso, porque mi Eclave está al lado de la Rclave. Ese pequeño error tipográfico es suficiente y su crontab se ha ido.
Respuestas:
Use un contenedor alrededor del crontabcomando, por ejemplo, esta función haría:
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}
Esta función verifica si -rexiste en el argumento de crontab; si es así, sale con el mensaje "r" not allowed, de lo contrario ejecuta el comando.
Póngalo en su ~/.bashrcpara cargarlo al inicializar todas las bashsesiones interactivas .
Sugiero que incluyas
alias crontab="crontab -i"
en su ~/.bashrcarchivo (¡comience un nuevo shell antes de probar!)
Esto significa que cada vez que ejecuta crontab, siempre selecciona la opción "-i". Si ahora da el crontab -rcomando, se procesa en crontab -ir, lo que solicita antes de eliminar el archivo crontab:
nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n