检查一台ORACLE数据库服务器的crontab作业(用户为oracle,实际环境中可能为oracle、也有可能是其它用户)时,发现出现下面提示信息:

 $ crontab -l

You (oracle) are not allowed to use this program (crontab)

See crontab(1) for more information

 遇到这种情况,一般是oracle用户被禁止使用crontab指令,需要检查两个配置文件/etc/cron.deny和/etc/cron.allow

 /etc/cron.deny        # 该文件中所列用户不允许使用crontab命令

/etc/cron.allow    # 该文件中所列用户允许使用crontab命令

 

检查的具体信息如下所示:

 # more /etc/cron.deny

#

# more /etc/cron.allow

root

tomcat

#

 在/etc/目录下,可能默认会有cron.allow以及cron.deny文件,也可能没有,没有的情况下可以自己创建,cron.allow文件中包含了可以使用crontab命令的用户名,cron.deny文件中包含了不可以使用crontab命令的用户名。两个文件中每个用户名占一行,并且不允许出现空格。

 注意事项:root用户在任何情况下都可以使用crontab命令。

           假如cron.allow配置文件存在,则只有列在这个文件中的用户名可以使用cron,这时候cron.deny被忽视。

           假如cron.allow不存在,则列在cron.deny文件中的用户名不可以使用cron。

 那么出现这种情况是因为同事设置过配置文件/etc/cron.allow,所以只需在/etc/cron.allow中配置oracle用户即可解决问题。

 # echo oracle > /etc/cron.allow

 然后使用 crontab -l 就能看到设置的作业了。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐