无法弄清楚为什么 cron 任务不起作用

无法弄清楚为什么 cron 任务不起作用

我遇到一个奇怪的情况,我设置了一个 cron 作业,每天执行一次 shell 文件,根据系统日志,cron 作业确实按预期被调用,并且由应该执行它的正确用户调用。但是,脚本应该更新数据库中的值,而当我检查数据库时,该值尚未更新。然而,如果我手动以同一用户身份运行 shell 文件,它会按预期执行并按我期望的方式更新数据库值。因此,shell 脚本出现错误或 cron 用户没有文件权限似乎不是问题,因为它与文件所有者是同一个用户。因此,不知何故,它会调用 cron 作业来执行此脚本,我知道该脚本由该用户运行,但出于某种原因,当由 cron 调用时,该脚本似乎实际上并未成功运行。任何想法都值得赞赏。

答案1

您还必须记住,cron 脚本不会在与普通用户相同的环境中运行。(Cron 不会在 bash 上运行,它们只是运行)。因此,您不能假设 PATH 环境变量会很好用。通常,如果您确保不使用任何相对路径,它就会起作用。

相关内容