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を使うにはどうすればいいかとかは、今は考えない。