私は、ファイルがうまくダウンロードされた場合、それはのcurl.Itの種類とPHPで別のスクリプトを起動し、FTPプロトコルを使用してリモートファイルを取得するシェルスクリプトを作りました今働いて、私は改善するためにいくつかの質問を持っている:シェルスクリプトはPHP
- は、スクリプトの残りの部分を実行するために、ダウンロードの終了をスクリプトを待っているか、またはダウンロードの時間の間、スクリプトは次の手順を実行しますか?
- 私が始まる命令の最初のメールを受信しますが、決して最後のもの(カールの結果を得る1、およびスクリプトの端に1つ)がどのように来ますか?
- (アーカイブがダウンロードされている場合)、私はそれがcrontabファイルにすべての時間を起動します場合でも、複数回実行するスクリプトを禁止するための良い方法を見つけたいですか?
- ftp接続の終了時にquit/bye/byの違いは何ですか?
これは、シェルスクリプトです:?
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クライアントはあなたがいずれかの終わりを省略することができます結果が曖昧でない場合は、コマンドを使用します。 1つのコマンドだけが 'by'で始まるので、あなたは' bye'を意味すると推定されます。 – Sorpigal
引数を 'echo'にクォートすることは害はなく、中括弧もどちらも必要ありません。何らかの理由でスクリプトが中断しているか、ここの文書に問題があるため、OPがメールを受け取っていないと言います。 –