You (oracle) are not allowed to use this program (crontab)
检查一台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 就能看到设置的作业了。