- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
969 :デフォルトの名無しさん[]:2016/02/02(火) 19:58:47.96 ID:3wwqVUnZ - すみません、どなたかわかる方、教えてください。
一般ユーザーで、webから情報をもってきて、テキスト整形、単純な演算して、内容をメールをするとい うperlスクリプトを書きました。ターミナルからコマンド打つと、ちゃんと動いてメールも届きます。 しかし、cronに登録すると、動かないのです。atでもだめです。 他のスクリプト(bashスクリプト)はcronでもatでも動いています。当然crondも動いています(runレ ベル2,3,4,5でON)。cronのログには、指定時間にこのスクリプトが起動がされていると記されて います。(perlスクリプト内にデバグ用にFHでopenして、起動時刻書き込むのも動いていない、コマン ドラインから起動すると書き込まれる)。 atの場合はちょっと変わっていて、時間がきても実行されないのですが、時間後に、atq(at -l)で確認す ると、他の残っているタスクと記述が違うのです。以下のような感じ。(19:25頃に出力) $atq 6123 2016-02-02 19:06 = User 5856 2016-02-21 12:45 a User 5857 2016-03-20 12:46 a User 実行されず、その時刻のあと、他のjobはaになってるところが=になっています。実行されなかったという 意味かもしれません。とにかく、atで動かなくてもcronで動けばいいのですが。 まさか、cronで起動できるのは、shスクリプトだけ、という事はないだろうとgglましたが、そういう事はな いようです。実行権限(775)確認、パスは通っている。cronの書式には問題はない(フルパスでコマンド 記述)。crontab中、コマンド直後に標準エラーをログる指定しても何もなし。 ありうるとすると、perlの必要な環境変数とかが設定されていないとか、と。スクリプト先頭のおまじないは、 #!/usr/bin/env perl、plenvで5.22.1が動いています。 もう他にやりようがありません。どなたか、ヒントでもおねがいします。
|
- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
971 :デフォルトの名無しさん[]:2016/02/02(火) 20:16:37.41 ID:3wwqVUnZ - >>970
$HOME/hogehoge/check.pl のような感じです。このhogehogeにはPATHは通っておらず、crontab内で、 スクリプトをフルパス指定しています。他のbashスクリプトはそれでも問題 なく動いていますが。perlだと違うのでしょうか? よろしくお願いします。
|
- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
973 :デフォルトの名無しさん[]:2016/02/02(火) 21:20:43.79 ID:3wwqVUnZ - >>972
もともと、crontab内では、/home/User/hogehoge/check.plで指定しています。
|