Perlプログラムでcronを実行する際の注意点

未分類

Perlプログラムでcronを実行する際の注意点

perlで書いたプログラムをcronで毎時実行させようとしたときの問題。 コマンドで実行させればなんら問題なく動くのに、 […]

最終更新日:2010年3月19日

perlで書いたプログラムをcronで毎時実行させようとしたときの問題。

コマンドで実行させればなんら問題なく動くのに、cronで実行させようとすると、全く反応しない。

なんでなんだと色々調べてみると、どうやらcronでの動作はPATHという概念が無くなってしまうので、相対パスでの記述が出来ないらしい。

プログラムの多くの部分で相対パスを使っていたので、もうしょうがないから無理矢理動かすことにした。

たとえば、

# /home/hoge/program.plをcronで毎時0分に実行したい
#失敗した
crontab -e
0 * * * * * /home/hoge/program.pl
#ということで無理矢理対処
#viでcroncommandってファイルを作って
vi /home/hoge/croncommand
#中身はこんな感じ
#!/bin/sh
cd /home/hoge
/home/hoge/croncommand
#:wqで終了して実行権限を付与
chmod 755 /usr/hoge/croncommand
#cronを設定する
crontab -e
0 * * * * * /home/hoge/croncommand

たぶん、あんまりよくない方法だと思う。

やってることが美しくない。

セール・特価情報

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

未分類カテゴリーの記事を全部見る