我有一个脚本说:
[operations@dojo 2018-02-23--18-10-53 ~ $] ls -l cc_snapshot.sh
-rwxr-xr-x 1 operations users 6006 Feb 23 15:02 cc_snapshot.sh
/etc/cron.allow
operations
crontab -l
*/3 * * * * operations /home/operations/cc_snapshot.sh arg1 arg2 >> /var/log/cc_snapshot.log
但是/var/log/cc_snapshot.log 中没有打印任何内容。 如果我从 cron 中删除操作用户,我会在/var/log/cc_snapshot.log 中看到错误,因为该脚本不应以 root 用户身份执行。
关于我在这里可能出错的地方有什么建议吗?
最佳答案
显然是文件权限问题。 root
是Unix
环境中的 super 用户,它可以执行该系统中的任何脚本。因此,第二条错误消息来自您的脚本,而不是来自 shell。您的脚本不希望它由 root 运行。检查用户帐户是否具有对文件位置的适当访问权限以及执行脚本的适当权限。这些是 Unix 环境中非常常见的问题。另请检查您的用户 ID 是否已添加到正确的组中。
关于linux - Cron 作业无法执行非 root 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48957567/