当我从命令行运行它时,我有一个可以运行的脚本,但是当我对其进行计划时,却cron
收到了无法找到文件或命令的错误。我的问题是双重的:
当我使用计划Cron作业时
crontab -e
,它是否使用我的用户ID作为其权限的基础?还是使用某种cron用户ID及其相关权限?启动cron作业时,工作目录是什么?是我指定要运行脚本的目录,还是其他目录?
这是我的Cron工作:
15 7 * * * /home/xxxx/Documents/Scripts/email_ip_script.sh
这是实际的脚本:
vIP_ADDR="`curl automation.whatismyip.com/n09230945.asp`"
echo "$vIP_ADDR"
sed "s/IPADDR/$vIP_ADDR/g" template.txt > emailmsg.txt
ssmtp XXXXX@gmail.com < emailmsg.txt
这是我查看mail
产生的消息时遇到的错误cron
:
sed: can't read template.txt: No such file or directory
/home/xxxx/Documents/Scripts/email_ip_script.sh: line 15: ssmtp: command not found
它找不到,template.txt
但与脚本位于同一目录中。它也无法运行ssmtp
,但是我可以作为用户。我缺少什么让它正常工作?
cron
拥有它,PATH
还是可以检查我用户的PATH
?我设置ssmtp也达有它自己user
并wheel
允许认为它会允许任何人使用它(包括的cron)。如果它对CENTOS 6.2上的即时消息有帮助,