cronが動かない時に疑う点
前回Plaggerでフィードを取得して定期的にIRCに流そうとしたら、最後の最後でcronが動きませんでした。
はて?何でだろう。
試しにこんな事やってみた。
*/1 * * * * echo test > testlog
testlogが出来て中に「test」て書かれてる。crond自体は起動してますね。
なので
*/30 * * * * /usr/bin/plagger -c /home/tell-k/feed.yml > testlog2
みたいな事やってみたら、testlog2はできたけど、白紙。。。エラーとかないのか。
困った。。。しょうがないからググッた。
Plaggerをcronで定期実行する - retlet.net
ふむ。どうやら、crontabで動かした時と、ターミナル上の環境では、環境変数が諸々違うっポイ。ためしにこんな事してみて、cronの時の環境変数を確認してみた。
*/1 * * * * export > cron_env
そしたら。やっぱり諸々PATHやらPERL5LIBやらが無かった。。。orz なので、「crontab -e」で再度こんな感じで設定してみた。
PATH="/usr/local/bin:/bin:/usr/bin:〜〜"#PATHを設定 PERL5LIB=".:/usr/share/cpan"#CPANを変な所にインスールしてる。 */30 * * * * /usr/bin/plagger -c /home/t-kida/feed.yml > plagger-log
設定したら動いた!!!
まぁなんとも初歩的ですんまそん。
そもそもcrondに環境変数を渡すのはもう少しスマートなやり方がありそうだけど、心が折れたので今日はやめますた(へたれ)