値が変更されたことを確認するためにbashスクリプトを継続的に実行するには?

値が変更されたことを確認するためにbashスクリプトを継続的に実行するには?

getAnalytics.php呼び出し時に特定の整数値を返すPHPスクリプトがあります。getAnalytics.php返された値が変更されたことを確認するために、30秒ごとにPHP検証スクリプトを継続的に実行するbashスクリプトを呼び出すことができます。

どうすればいいですか?それとも別のアプローチをお勧めしますか?

答え1

可能な変更の通知を受け取るためのより良い表示(一部のログファイルを表示するなど)がない場合は、bashで無限に繰り返します。

res=
while [ 1 ] ; do
   old_result=$res
   res=$(/path/to/getAnalytics.php)
   echo "result: $res"
   if [ "$old_result" != "$res" ]; then
     echo "result has changed"
   fi
   sleep 30
done

終了するにはCtrl+が必要です。Cスクリプトが印刷する特定の値(42など)で終了するには、始めにresダミー値を設定してからテストしてください。[ "$res" != "42" ]

答え2

実行間隔を1分に軽減できる場合は、cronエントリを使用して簡単に実行できます。このプロセスの利点は、プログラムがアイドル状態(潜在的にシャットダウン)のために一部のデータやウィンドウを見逃すことがないことです。再起動の間に開始するために必要な特別なステップはありません。

関連情報