これは私のbashスクリプトです。
#!/bin/bash
timestamp() {
date +"%T"
}
pushd 'httpdocs/DIR1/DIR2';
file="Lock3.key"
if [ -f "$file" ]
then
echo "$file found, Session is already in progress" $(date)
else
echo "$file was not found, Its safe to start the script" $(date)
echo "Running Ebay Stock Only Script" $(date)
#Its possible to double check if the script is running by checking memory.
#ps aux | grep "php Cron-Run.php" (Not safe)
php Cron-Run.php > Output.log
echo "Finished Running Script, Lock file is deleted by PHP, Now exiting" $(date)
fi
exit
これはcronジョブで実行され、機能しました。しかし、私が望むのは、最後のプロセスがPHPプロセスが完了したときにのみ実行され(1時間実行され)、電子メールが届いたら、関連する時間とともにecho
最後のプロセスの出力を表示するのが良いことです。echo
現在のecho
PHPスクリプトは、呼び出しから2秒後に実行されます。
答え1
スタンバイ機能を使用して、プロセスが完了するまで一時停止/待機できます。
作業セクションの例:
#!/bin/bash
timestamp() {
date +"%T"
}
pushd 'httpdocs/DIR1/DIR2';
file="Lock3.key"
if [ -f "$file" ]
then
echo "$file found, Session is already in progress" $(date)
else
echo "$file was not found, Its safe to start the script" $(date)
echo "Running Ebay Stock Only Script" $(date)
#Its possible to double check if the script is running by checking memory.
#ps aux | grep "php Cron-Run.php" (Not safe)
php Cron-Run.php > Output.log
wait
echo "Finished Running Script, Lock file is deleted by PHP, Now exiting" $(date)
fi
exit