我做了一个shell脚本,获得一个远程文件与ftp协议,如果该文件很好的下载,它启动另一个脚本在PHP与curl.It是一种现在的工作,但我必须提高几个问题:?shell脚本下载远程文件和启动和其他脚本写在PHP
- 执行脚本正在等待下载结束执行脚本的其余部分中下载的时间脚本执行下列指令或?
- 我收到开始指令的第一封邮件,但从来没有最后一封(得到卷曲结果的那个,以及脚本末尾的那个)怎么回事?
- 我想找到一种很好的方式来禁止脚本运行多次(如果归档文件已经下载),即使它每小时都会用crontab启动吗?
- 在ftp连接结束时quit/bye/by有什么区别?
这是shell脚本:
echo start of the script | mail -s "beginning of the script" [email protected]
cd /my_rep
HOST='domaine.com'
PORT='21'
USER='admin'
PASSWD='pass'
jour=$(date "+%Y%m%d")
FILE="file_"$jour".txt";
ftp -i -n $HOST $PORT <<EOF
quote USER $USER
quote PASS $PASSWD
cd firstlevel
cd end
get $FILE
quit
EOF
if test -f $FILE
then
CurlRes="$(curl "http://doma.com/myfile.php")"
echo debug CURL : $CurlRes | mail -s "debug" [email protected]
else
echo no file : $FILE | mail -s "no file" [email protected]
fi
echo this is the end of the script download | mail -s "end of script download" [email protected]
大多数FTP客户端,您可以省略任何结束命令如果结果是明确的。由于只有一个命令以`by`开头,因此推测你的意思是`bye`。 – Sorpigal 2010-12-08 11:12:56
引用“echo”的参数不会受到伤害,大括号也不会受到伤害,但在这种情况下,这两者都不是必需的。我会说OP没有收到电子邮件,因为脚本因某种原因中止了,或者这里的文档有问题。 – 2010-12-08 15:41:12