2013年2月26日火曜日

ubuntuのpolipoをupstartから起動するようにした

 最近 polipo がしょっちゅうセグフォして落ちるので、自動的に再起動するようにしよう。どうせなら upstart 対応にしようそうしよう。ということでしてみました。



まず既存のinitabで動作しているのをやめます。バッティングしてしまいますからね。


sudo service polipo stop
 sudo update-rc.d polipo disable
これで止まります。



次に、以下の内容を polipo.conf という名前で、 /etc/init/ 以下に保存します。



# polipo - polipo web cache
#

description "polipo web cache"

start on local-filesystem or runlevel [2345]
stop on runlevel [016]

respawn

env NAME=polipo
env USER=proxy

post-start script
if [ ! -e /var/run/$NAME ] ; then
mkdir -p /var/run/$NAME
chown proxy:proxy /var/run/$NAME
chmod 755 /var/run/$NAME
fi

sleep 1
PID=`pgrep -u $USER $NAME`
echo $PID > /var/run/$NAME/$NAME.pid
end script

post-stop script
rm -f /var/run/$NAME/$NAME.pid
end script

exec sudo -u $USER /usr/bin/polipo -c /etc/polipo/config

保存し終えたら、
sudo initctl reload-configuration
して設定を再読み込みさせ、
sudo initctl start polipo
で polipo を起動してください。

 これで知らずにpolipoが落ちても自動的に再起動してくれます。便利♪

0 件のコメント: