特权命令作为cronjob的一部分

我有一个个人用户名/密码在有限权限的Unix机器上。 每当我需要执行一些命令,我​​必须用su命令replace用户,然后正常执行。

现在,我需要添加一个使用这样的特权命令的cronjob,所以我在我replace的用户的crontab上添加了cronjob以访问这些命令。

奇怪的是,对我来说,这些命令作为一个cronjob运行的某些原因失败,虽然当我直接从shell执行它们(之后),他们无缝工作。

为什么会这样呢? 为什么这些命令不能作为cronjob的一部分?

他们可能期望某些环境variables被设置,但不是当该命令直接作为该用户运行时。 通常$PATH

我会添加一个输出文件到你的cron条目,所以你可以看到为什么它没有执行。 即:

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

5分钟后,检查/tmp/myscript.out,看看有什么抱怨。

当然,这将有助于发现您是否有权限创buildcron。