我每小时使用一个cronjob(我在Mac上)发出这个命令:
/usr/bin/curl -s --data "gr=0123&press=OK" http://www.myurl.com/myphp.php >/dev/null
有没有办法以HH:MM格式发布当前时间,添加新的帖子参数?怎么样?
答案 0 :(得分:1)
首先,如果你还没有想出来,为了获得Macintosh shell中的时间,你可以这样做:
date +"%H:%M"
所以,回答你的问题,尝试怎么样:
/usr/bin/curl -s --data "gr=0123&press=OK&time=`date +'\%H:\%M'`" http://www.myurl.com/myphp.php >/dev/null
如果这不起作用,请尝试这样做(全部在一行)
setenv CURRENTTIME `date +'\%H:\%M'` ; /usr/bin/curl -s --data "gr=0123&press=OK&time=$CURRENTTIME" http://www.myurl.com/myphp.php >/dev/null
请注意,您需要转义百分号;否则,cron会将它们转换为换行符并传递每一行,但第一行通过stdin传递给命令。来自crontab(5)联机帮助页:
行的整个命令部分,直到换行符或%字符,将由/ bin / sh或cronfile的SHELL变量中指定的shell执行。除非使用反斜杠()进行转义,否则命令中的百分号(%)将更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。
考虑到命令行开始增长相当长,最好将它放在shell脚本中,并将脚本作为cron作业调用。