RubyでTwitterBotをつくってサーバーにアップしたい 〜cron設定編〜

正直解消できてないことは山ほどあるんですがそれはそれとして。
ひとりごとをつぶやくスクリプトに付いてはSSHでちゃんと動くようになったので、今度はcronから動かしてみることにしました。
が、これがまた一筋縄ではいきませんでした。cronのパスの書き方にも環境変数にもくせありすぎ。
参考にさせていただいたのはhttp://blog.orval-net.com/archives/2008/01/_cron.htmlと、2008-07-04です。


以下、動かすのに必要になった方法のまとめ。

1)実行コマンドの設定

「CRONの設定」ページの実行コマンドから「新規項目の追加」を選ぶ。
「実行コマンド」テキストボックスに以下のように入力。

cd /home/[ユーザーID]/[Rubyスクリプトの入ってるディレクトリまでのパス] ; /usr/local/bin/ruby /home/[ユーザーID]/[Rubyスクリプトの入ってるディレクトリまでのパス]/[スクリプト名].rb

たとえば、ユーザーIDがhogeRubyスクリプトをアップロードしたディレクトリの名前がユーザディレクトリ直下のhoge_rubyスクリプト名がhogehoge.rbだったら、

cd /home/hoge/hoge_ruby ; /usr/local/bin/ruby /home/hoge/hoge_ruby/hogehoge.rb

となります。

2)環境変数の設定

同じ「CRONの設定」ページにある「環境変数」へ、以下のように追加。

環境変数 環境変数の値
RUBYLIB /home/[ユーザーID]/lib
GEM_HOME /home/[ユーザーID]/lib/ruby/gem

ただし「環境変数への値」に入れるパスについては、SSH接続して

%echo $RUBYLIB

%echo $GEM_HOME

と実行してみて、ご自分とこの環境変数がどうなってるか確かめてみたほうがよさげです。
で、結果が上の入力例と違ってたらそちらを優先してください。