【发布时间】:2014-11-08 13:09:37
【问题描述】:
在我的 cron 标签文件中,我有
* * * * * /Users/ajgauravdeep/test.sh
看起来像
1 #!/bin/sh
2
3 /bin/echo "Downloading builds"
4 #~luna/bin/mountebuild
5
6 #sleep 10
7
8 ##############---------Variables---------##############
9
10 fileWithBuildPath="/tmp/process.tmp.file.txt"
11 skihillDir="xyz"
12 lastBuild=`/bin/cat $fileWithBuildPath`
13 curBuild=`/usr/bin/readlink -n $skihillDir/x`
14
15 ##############---------Variables---------##############
16
17 /bin/echo lastbuild is $lastBuild
18
19 if [ "$curBuild" != "$lastBuild" ]; then
20 lastBuild=$curBuild
21 /bin/echo We have a new build :$curBuild
22 /bin/rm $fileWithBuildPath
23 /bin/echo "$lastBuild" > $fileWithBuildPath
24 fi
我没有看到屏幕上每分钟都有任何输出,但是当我有时
* * * * * /Users/ajgauravdeep/test.sh > <some file>
我看到该文件已填充。有人可以帮忙吗?
【问题讨论】:
-
如果你在stackoverflow上搜索这个,你可能会发现很多相关的问题。当
cron作业运行时,它的shell PATH 设置与您的登录shell 不同。您需要确保(例如,例如,通过在crontab中明确设置路径)cron作业可以访问所有所需的命令。 -
感谢您的回复。我也这样做了。 /bin/echo, /bin/cat 但同样的问题,对于我在这个脚本中的所有命令
-
CommandResultsMake.py来自哪里?您的test.sh脚本不会调用任何其他外部脚本。您如何使用test.sh脚本制作cron工作? -
请再次阅读问题。已修改
-
如果您想在终端上查看输出,为什么将其设置为
cron作业?cron作业的目的是在您不在时让它定期运行。一种替代方法是将其输出到某处的文件,然后在终端中执行tail -f output_file。