作为 cronjob 一部分的特权命令

作为 cronjob 一部分的特权命令

我在一台具有有限权限的 unix 机器上有一个个人用户名/密码。每当我需要执行某些命令时,我都必须使用命令,那么我就可以正常执行它。

现在,我需要添加一个使用此类特权命令的 cronjob,因此我将 cronjob 添加到了我所替代的用户的 crontab 上,以便能够访问这些命令。

奇怪的是,我发现这些命令由于某种原因无法作为 cronjob 运行,尽管当我直接从 shell 执行它们时(在 su 之后)它们可以无缝运行。

为什么会发生这种情况?为什么这些命令不能作为 cronjobs 的一部分运行?

答案1

他们可能希望以某种方式设置某些环境变量,但当以该用户身份直接运行命令时,情况并非如此。通常$PATH

答案2

我会向您的 cron 条目添加一个输出文件,以便您可以看到它执行失败的原因。即:

*/5 * * * *   path_to_script.sh > /tmp/myscript.out 2>&1

5 分钟后,检查 /tmp/myscript.out 并查看其抱怨的内容。

当然,首先查明您是否有权创建 cron 会有所帮助。

相关内容