Shell-Script:Cronjob与用户权限

时间:2012-05-18 22:48:10

标签: linux cron cygwin crontab

可能是一个简单的问题,但我很困惑:

当我手动运行以下脚本时,它可以正常工作。虽然我没有以用户git的身份运行此脚本,但是作为用户X,我可以使用应用于git用户主目录的ls和du命令。 如果我尝试在cronjob中运行此脚本,则不会定期调用这两个命令,不知道原因。 cmd文件的第一个“extern”调用在两种情况下都是完美的,并产生常规输出。

我注意到:我只能使用./runbackup.sh以X用户身份运行脚本,并将其存储在用户主目录中。

Cron以用户X的权限运行。

令人困惑......:/ ......任何想法?

脚本: runbackup.sh:

#!/bin/bash

/cygdrive/e/xp-batches/backup.cmd > info.log
echo "### CURRENT HOMEDIR ###" >> info.log
ls -gh --block-size=K /home/git >> info.log
echo "### SIZE ###" >> info.log
du -hs /home/git >> info.log
email -s "Backup Status" dum@dio.com < info.log

1 个答案:

答案 0 :(得分:1)

最好不要假设cron为您提供的环境。使用完整路径:

/ bin / ls -gh --block-size = K / home / git&gt;&gt; info.log建立

而不只是“ls”。

哦,也许使用绝对路径而不是info.log。