Hatena::Groupfreebsd

弧月いうの FreeBSD 的な何か このページをアンテナに追加 RSSフィード

2013-03-31

Monit で FacebookIrcGateway を監視 12:45  Monit で FacebookIrcGateway を監視 - 弧月いうの FreeBSD 的な何か を含むブックマーク はてなブックマーク -  Monit で FacebookIrcGateway を監視 - 弧月いうの FreeBSD 的な何か  Monit で FacebookIrcGateway を監視 - 弧月いうの FreeBSD 的な何か のブックマークコメント

当初、ユーザ権限だとうまく動かなくてハマったのでメモ。

$HOME/bin/fig-run

#!/bin/sh

case $1 in
  start)
    cd /home/qlo/bin/FacebookIrcGateway && env HOME=/home/yukogets /usr/local/bin/ruby ./fig.rb 
>/dev/null 2>&1 &
    echo $! > /home/yukogets/bin/FacebookIrcGateway/fig.pid
    ;;
  stop)    kill -KILL `cat /home/yukogets/bin/FacebookIrcGateway/fig.pid`
    rm /home/yukogets/bin/FacebookIrcGateway/fig.pid
    ;;
  restart)    kill -KILL `cat /home/yukogets/bin/FacebookIrcGateway/fig.pid`
    rm /home/yukogets/bin/FacebookIrcGateway/fig.pid
    cd /home/yukogets/bin/FacebookIrcGateway && env HOME=/home/yukogets /usr/local/bin/ruby ./fig.rb 
>/dev/null 2>&1 &
    echo $! > /home/yukogets/bin/FacebookIrcGateway/fig.pid
    ;;
  *)
    echo "usage: fig-run {start|stop|restart}"
    ;;
esac
exit 0

昨日書いた tig のと大差ないけど、ポイントは fig.rb を実行するときに env HOME=/home/yukogets をはさんだところ。

ruby のことはよくわからないけど、実行時に $HOME/ 以下を読みに行く部分があるらしく、これがないと Monit で uid 指定して実行しても /root 以下の権限がないのでこける。

あ、あと restart) の部分は Monit で使う分には必要ないけど、手動で使うときに便利なのでつけといた。

/usr/local/etc/monit/fig.conf

check process FacebookIrcGateway with pidfile /home/yukogets/bin/FacebookIrcGateway/fig.pid
every 2 cycle
group irc
start program = "/home/yukogets/bin/fig-run start"
  as uid yukogets and gid users
stop program = "/home/yukogets/bin/fig-run stop"
if failed port 16822 then restart

こっちは特に変化なし。


まとめ

書いといてなんだけど、これであってるのかどうかイマイチ自信がないけど、まあ動いてるしいっか。

ゲスト



トラックバック - http://freebsd.g.hatena.ne.jp/yukogets/20130331