在 CLI 中禁用 crontab 的删除选项

use*_*638 14 command-line bash cron

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

我不小心运行了两次,因为我的E钥匙在R钥匙旁边。那个小小的错字就足够了,你的 crontab 不见了。

Nic*_*ito 28

我建议你包括

alias crontab="crontab -i"
Run Code Online (Sandbox Code Playgroud)

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

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

nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n
Run Code Online (Sandbox Code Playgroud)


hee*_*ayl 17

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

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

此函数检查是否-r存在于crontab;的参数中。如果是,则退出消息"r" not allowed,否则执行命令。

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