我有一个 PHP 脚本getAnalytics.php
,调用该脚本时会返回一个特定的整数值。我希望能够调用getAnalytics.php
一个 bash 脚本,该脚本每 30 秒连续运行一次检查 PHP 脚本,以查看返回的值是否已更改。
我该怎么做呢?或者您会推荐一种不同的方法吗?
答案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
如果您可以将运行之间的要求放宽到一分钟,则可以通过 cron 条目轻松完成此操作。此过程的优点是程序不会简单地闲置(并可能死掉)导致您错过某些数据或窗口。在重新启动之间也不需要特殊的步骤来启动它。