トップページ > プログラム > 2016年02月02日 > 3wwqVUnZ

書き込み順位&時間帯一覧

22 位/188 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000111003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Perlについての質問箱 64箱目 [転載禁止]©2ch.net

書き込みレス一覧

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で指定しています。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。