perlbrewとextlibなアプリのcronとかdaemontools

perl は system perl じゃなくて perlbrew で入れて、アプリで必要な CPAN モジュールは全てアプリのディレクトリ下の extlib というディレクトリにインストールする方式は個人的にはいい感じだよなぁと思いつつ、cron とか daemontools がいつもどうやるのが正解なのか分からず困ってた。

またセットアップする機会があったので色々考えた結果、こんな感じなら割とすっきりした感じになった。

env

このファイルがキモで、アプリのディレクトリに移動しつつ、いい感じに perl とか PATH とか@INC を設定して、渡されたコマンドを実行してくれる。

# perl -v

This is perl, v5.8.8 built for x86_64-linux-thread-multi

# ./env perl -v

This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux

crontab

あとは上の env を使ってあげるだけ。

daemontools の run

シンプル。

まとめ

だいぶべた書きの項目もあるけど、アプリ毎にちょちょいと作ってあげればいいんじゃないかな!

envdir を使うにはどうすればいいかとかは、今は考えない。