- ベストアンサー
cronの設定で動作しない問題 - Fedora8環境
- cronの設定後、定期的に動作しない問題に遭遇しました。解決方法を教えてください。
- Fedora8の環境でcronの設定を行いましたが、予定通りに動作しない問題が発生しています。cronの設定とログの確認を行った結果、解決できない状況です。ご教授いただけると幸いです。
- cronがFedora8環境で正常に動作しない問題に取り組んでいます。設定は正しく行われており、ログも出力されていますが、ログファイルに正しい情報が追記されません。解決策をお教えいただけますか?
- みんなの回答 (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" のようになり、文法チェックだけが行われるようです。
その他の回答 (2)
- ralf124c
- ベストアンサー率52% (232/446)
もしかして吐き出すログファイルは間接パス指定にしていませんか? もしそうだったら絶対パスにしてオーナー及びパーミッションにも注意してみてください。
お礼
みなさまのアドバイスのおかげで無事解決できました ありがとうございました。
- t-okura
- ベストアンサー率75% (253/335)
test.cgi の一行目は、どう書かれていますか。 #!/usr/bin/perl -cw のようになっていると、文法チェックだけを行うので、 #!/usr/bin/perl -w に変更しましょう。
補足
ありがとうございます。 現在のCGI一行目は#!/usr/bin/perl になっています。 -wとかってデバッグ用かなんかのオプションですか? 試してみたところcgiの途中で Use of uninitialized value in string だと言われましたが、コマンドラインから実行した結果は変わらず また、cronの結果も変化ないようです。これは何を意味しているのでしょうか。
お礼
わざわざ再現試験までしてくれたんですか!! ありがとうございます! ご指摘の通り、shellを戻したところ5分間隔でログを吐くようになりました。chmodは777にしてたのを一応755に戻しました。 cronで定期的に起動するのに文法チェックだけしてるなんてよくわからない仕様ですね。勉強になりましたありがとうございました。