在CLI中禁用crontab的remove选项


13

例如,如何禁用特定命令crontab -r

我已经不小心碰到了两次,因为我的E钥匙在R钥匙旁边。这些小错别字就足够了,您的crontab也消失了。


2
不要忘记对重要文件进行备份!
wjandrea

当然,我有@daily zip -r /home/./scripts/cronjobs-all.zip / var / spool / cron / crontabs
user66638

诸如Mercurial或Git之类的源代码修订控制系统甚至可以用于管理脚本文件并安全防范意外更改或删除。您甚至都不需要为两个远程存储库。:-)
David Foerster's

Answers:


16

crontab命令周围使用包装器,例如,此函数可以执行以下操作:

crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}

此函数检查是否-r存在参数crontab;如果是这样,则返回message "r" not allowed,否则执行命令。

将其放入您的系统中,~/.bashrc以在所有交互式bash会话初始化时加载它。


27

我建议你包括

alias crontab="crontab -i"

在您的~/.bashrc文件中(在测试之前启动一个新的shell!)

这意味着每次运行crontab时,始终选择“ -i”选项。如果您现在给出crontab -r命令,它将在处处理crontab -ir,该命令会在删除crontab文件之前提示:

nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.