9月 16

iPhone 3GS で自宅サーバのメールをプッシュで受けるために使わせてもらっている IMAProwl。IMAProwl 1.0.0 がリリースされたのを機に、これまで手動で起動していたものを起動時に実行するようにしてみました。当初導入した時点と比べると、daemon mode が追加されたり、既読問題が対処されたり、ずいぶん使い勝手もよくなっています。

配布物を適当なところに展開し、まずは、このサーバで使っている FreeBSD の環境に合わせるために、スクリプトにちょっと手を加えておきます。手を加えるといっても、imaprowl.rb の先頭行を書き換えるだけですけど。

#!/usr/local/bin/ruby19

続いて、/usr/local/etc/rc.d/ に以下の内容で imaprowl というスクリプトを用意。

#!/bin/sh
#
# PROVIDE: imaprowl
# REQUIRE: courier-imap-imapd-ssl
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable imaprowl:
# imaprowl_enable (bool): Set it to "YES" to enable imaprowl.
# Default is "NO".

. /etc/rc.subr

name="imaprowl"
rcvar=${name}_enable

load_rc_config $name

: ${imaprowl_enable="NO"}

start_cmd=${name}_start

imaprowl_start() {
/usr/local/etc/IMAProwl/imaprowl.rb -c /usr/local/etc/IMAProwl/imaprowl.conf -q
}

run_rc_command "$1"

rcNG の書き方をよくわかっていませんので、動けばいいやって感じです。
後は、/etc/rc.conf

imaprowl_enable="YES"

と追記すれば大丈夫かと思ったのですが、FreeBSD 起動時の実行順序の都合でエラーを吐いてしまいました。# REQUIRE: courier-imap-imapd-ssl で、IMAP 起動後に実行してくれるのかと思っていたのですが、なぜだか上手くいきません。まぁ、私がよくわかっていないだけなのでしょうけど。
仕方ないので、/usr/local/etc/rc.d/courier-imap-imapd-ssl に以下を追記。

# BEFORE: imaprowl

これで無事、courier-imap-imapd-ssl 起動後に imaprowl が実行され、思惑通りになりました。

関連記事

 
Posted: 9月 16日 2009 at 14:25 3,516 views   Tagged with:


にほんブログ村 PC家電ブログ Macへ にほんブログ村 野球ブログ 広島東洋カープへ にほんブログ村 写真ブログ デジタル一眼レフカメラへ 人気ブログランキングへ 広島ブログ


週刊 鉄道ペディア 国鉄JR篇 JTB Time Table MacPeople Software Design Hiroshima Athlete Magazine EIZOダイレクト フォトブック作成サービスcocoal(ココアル)
preload preload preload