我有一个个人用户名/密码在有限权限的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。