在 CentOS 系统中,crontab 是用于设置周期性被执行的任务的工具
sudo su -
/etc/crontab 文件的权限。使用以下命令查看权限:ls -l /etc/crontab
正常情况下,该文件的权限应为 -rw-r--r--,表示所有用户都可以读取,但只有 root 用户可以修改。
/etc/crontab 文件的权限不正确,可以使用以下命令修复:sudo chmod 644 /etc/crontab
/var/spool/cron/crontabs 目录的权限正确。使用以下命令查看权限:ls -ld /var/spool/cron/crontabs
正常情况下,该目录的权限应为 drwxr-xr-x,表示所有用户都可以读取和执行,但只有 root 用户可以写入。
/var/spool/cron/crontabs 目录的权限不正确,可以使用以下命令修复:sudo chmod 755 /var/spool/cron/crontabs
/var/spool/cron/crontabs 目录的所有者和组正确。使用以下命令查看所有者和组:ls -ld /var/spool/cron/crontabs
正常情况下,该目录的所有者应为 root,组应为 root。
/var/spool/cron/crontabs 目录的所有者或组不正确,可以使用以下命令修复:sudo chown root:root /var/spool/cron/crontabs
sestatus
如果 SELinux 处于 enforcing 模式,可以尝试将其设置为 permissive 模式,以便更容易地诊断问题:
sudo setenforce 0
然后再次尝试执行 crontab 命令。如果问题解决,请考虑调整 SELinux 策略以允许 cron 服务访问相关文件和目录,而不是完全禁用 SELinux。
crontab -l 命令查看当前用户的 crontab 配置,或使用 crontab -e 命令编辑 crontab 配置。