• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cronがうまく動作していないっぽいです。)

cronの設定で動作しない問題 - Fedora8環境

このQ&Aのポイント
  • cronの設定後、定期的に動作しない問題に遭遇しました。解決方法を教えてください。
  • Fedora8の環境でcronの設定を行いましたが、予定通りに動作しない問題が発生しています。cronの設定とログの確認を行った結果、解決できない状況です。ご教授いただけると幸いです。
  • cronがFedora8環境で正常に動作しない問題に取り組んでいます。設定は正しく行われており、ログも出力されていますが、ログファイルに正しい情報が追記されません。解決策をお教えいただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.3

同じようにやったところ再現しました。原因は、 > SHELL=/usr/bin/perl にあります。 SHELL=/bin/bash に戻し、chmod a+rx /var/www/cgi-bin/test.cgi するか、 */5 * * * * root /usr/bin/perl /var/www/cgi-bin/test.cgi に変えましょう。 どうも cron は、crontab に登録されたコマンドを -c オプションをつけ て実行しているようです。そのため SHELL を /usr/bin/perl に変えると 実行されるコマンドは /usr/bin/perl -c "/var/www/cgi-bin/test.cgi" のようになり、文法チェックだけが行われるようです。

aki-kun
質問者

お礼

わざわざ再現試験までしてくれたんですか!! ありがとうございます! ご指摘の通り、shellを戻したところ5分間隔でログを吐くようになりました。chmodは777にしてたのを一応755に戻しました。 cronで定期的に起動するのに文法チェックだけしてるなんてよくわからない仕様ですね。勉強になりましたありがとうございました。

その他の回答 (2)

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.2

もしかして吐き出すログファイルは間接パス指定にしていませんか? もしそうだったら絶対パスにしてオーナー及びパーミッションにも注意してみてください。

aki-kun
質問者

お礼

みなさまのアドバイスのおかげで無事解決できました ありがとうございました。

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

test.cgi の一行目は、どう書かれていますか。 #!/usr/bin/perl -cw のようになっていると、文法チェックだけを行うので、 #!/usr/bin/perl -w に変更しましょう。

aki-kun
質問者

補足

ありがとうございます。 現在のCGI一行目は#!/usr/bin/perl になっています。 -wとかってデバッグ用かなんかのオプションですか? 試してみたところcgiの途中で Use of uninitialized value in string だと言われましたが、コマンドラインから実行した結果は変わらず また、cronの結果も変化ないようです。これは何を意味しているのでしょうか。

関連するQ&A