CentOS 解决 crontab 运行错误问题

0. 概述

因为我有一些任务是通过 Crontab 进行的,但是,这几天发现似乎 crontab 并没有正常运行,这里记录一下定位和修复过程。

1. 问题定位

第一步肯定是先看 crontab 的日志报的啥,这里参考之前写的一篇:Crontab使用教程 中的方式进行日志查看,然后发现错误为:

[root@liqiang.io]# tailf /var/log/cron
...
Feb  4 07:30:01 localhost crond[136395]: (root) FAILED to authorize user with PAM (Module is unknown)
Feb  4 07:30:01 localhost crond[136393]: (root) FAILED to authorize user with PAM (Module is unknown)
Feb  4 07:30:01 localhost crond[136397]: (root) PAM ERROR (Module is unknown)
Feb  4 07:30:01 localhost crond[136397]: (root) FAILED to authorize user with PAM (Module is unknown)
Feb  4 07:30:01 localhost crond[136396]: (root) PAM ERROR (Module is unknown)
Feb  4 07:30:01 localhost crond[136396]: (root) FAILED to authorize user with PAM (Module is unknown)
Feb  4 07:30:01 localhost crond[136392]: (root) PAM ERROR (Module is unknown)
Feb  4 07:30:01 localhost crond[136392]: (root) FAILED to authorize user with PAM (Module is unknown)
...

那么很明显,看上去就是权限问题。于是我就把 SELinux 暂停掉,然后发现还是错误。

2. 问题解决

后面查阅资料后发现,需要设置一下 Crontab 的用户名单:

[root@liqiang.io]# cat /etc/cron.allow
root
[root@liqiang.io]# service crond restart

添加用户之后,记得要重启一下 crontab,然后发现就正常了。

留下评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据