Например, как отключить определенную команду crontab -r?
Со мной уже дважды случалось, что я случайно запускаю это, потому что мой Eключ находится рядом с Rключом. Этой маленькой опечатки достаточно, и ваш crontab ушел.
Например, как отключить определенную команду crontab -r?
Со мной уже дважды случалось, что я случайно запускаю это, потому что мой Eключ находится рядом с Rключом. Этой маленькой опечатки достаточно, и ваш crontab ушел.
Ответы:
Используйте обертку вокруг crontabкоманды, например, эта функция будет делать:
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}
Эта функция проверяет, -rсуществует ли в аргументе crontab; если это так, завершается с сообщением "r" not allowed, в противном случае выполняет команду.
Вставьте его в свой, ~/.bashrcчтобы загрузить его при инициализации всех интерактивных bashсеансов.
Я предлагаю вам включить
alias crontab="crontab -i"
в вашем ~/.bashrcфайле (запустите новую оболочку перед тестированием!)
Это означает, что каждый раз, когда вы запускаете crontab, вы всегда выбираете опцию «-i». Если вы сейчас дадите crontab -rкоманду, она обрабатывается по адресу crontab -ir, который запрашивает перед удалением файла crontab:
nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n