memcachedのプロセスがたまに落ちるので、それは原因を追求しなきゃいけないんですが、
その場しのぎ的になんとかしなきゃいけない時にやったプロセスを監視して落ちたら自動で起動するようにdaemontoolを設定した時のメモです。
| OS | CentOS 5.6 64bit |
|---|
http://www.qmailtoaster.com/download/stable/daemontools-toaster-0.76-1.3.6.src.rpm
ここでSRPMが公開されているのでのでありがたくRPM化してインストールしておきます。
daemontoolsをインストール後、
daemontool用ディレクトリ作成
mkdir /var/memcached
起動スクリプト作成
/var/memcached/run
ファイル内容は↓です。
memcached自動起動時、メール通知が行われるようになっています。
#!/bin/sh
if [ -f /etc/sysconfig/memcached ];then
. /etc/sysconfig/memcached
SUBJECT="`hostname` memcached restarted."
/bin/mail -s "$SUBJECT" root@example.com <<END
memcached restarted.
`date '+%Y-%m-%d %H:%M:%S'`
END
fi
exec 2>&1
exec /usr/bin/memcached -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN
$OPTIONS起動スクリプトへ実行権を付与
chmod +x /var/memcached/run
起動スクリプトのシンボリックリンクを張る
ln -s /var/memcached /service/memcached
memcachedデーモンの停止
既にmemcachedデーモンが動いている場合は停止しておきます。
/etc/init.d/memcached stop
daemontools起動
sh -c 'svscan /service &'
これでdaemontoolsからmemcachedが起動されます。
memcachedのプロセスの起動状況は以下で確認できます。
svstat /service/memcached
daemontoolsからmemcachedを起動させている為、
memcachedプロセスの再起動や停止は以下のコマンドを使って行います。
memcachedを再起動する場合
svc -t /service/memcached
memcachedを停止する場合
svc -d /service/memcached
memcachedを起動する場合
svc -u /service/memcached
参考URL
参考にさせて頂きました。
memcachedを知り尽くす 『第5回 memcachedの運用と互換アプリケーション』