サービスのリスタート用のシェルスクリプトを用意したのでそのメモ
# !/bin/sh
if [ $$ != `pgrep -fo $0` ]; then
echo `basename $0` is already running.
exit 1
fi
restart(){
while read i
do
echo $i | grep " 499 " | grep -v "除外条件"
if [ $? = "0" ];then
sudo -S /etc/rc.d/init.d/php-fpm restart
fi
done
}
tail -n 0 --follow=name --retry /var/log/nginx/access.log | restart
原因不明の http status code 499 でサービス提供が停止してしまう現象が発生中。php-fpm のリスタートで、とりあえず復旧するので、暫定対応のため作成。たまに使いたくなる時があるはずなのでメモを残す。
シェルスクリプトは苦手だわ。。。
前半が重複起動抑止のためのスクリプト。後半がリスタート用。
tail -f を受け、499 に合致し、除外条件を含まないものが来た時、php-fpm のリスタートを実行。