• 締切済み

cron(指定日投稿)のCGI実行方法

お世話になります。 MTの指定日投稿設定を行い、しばらくはうまく実行されていたのですが、サイトを追加していくうちに、cron daemonメールでkilledされた というメール内容が届き、以降、新たに追加したサイトについて、指定日投稿が実行されません。 いくつか、参考のコメントもいただき、試してみましたが、やはりうまくいきません。 前回、質問しました内容は下記の通りです。 =====以下、前回質問した内容===== MT初心者なんですが、いろいろ調べて指定日投稿ができるように設定することができました。しかし・・・・その後・・・ 追加して作成したサイトについては、指定日投稿されなくなってしまいました。 以前、作成したサイトは順調に指定した日に更新されているのですが、追加作成したサイトがうまく動かないんです。 【設定の内容です】 ・MT4.1をインストールしています ・サーバーはコアサーバーを使用しています ・cron設定を行い、指定日投稿をしています 【エラーメッセージと気になる点】 指定日投稿が完了したら、メールが送られてくるのですが、これまでは Parsing of undecoded UTF-8 will give garbage when decoding entities at /virtual/××/public_html/mt/extlib/LWP/Protocol.pm line 204. という内容が記載してあったのですが、うまくいかない時のメールの内容には Parsing of undecoded UTF-8 will give garbage when decoding entities at /virtual/××/public_html/mt/extlib/LWP/Protocol.pm line 204.・・・の後に /virtual/××/public_html/mt/cron1.sh: line 3: 31332 Killed /usr/bin/perl ./tools/run-periodic-tasks というようなメーッセージが入っています。 killedという単語が、少々、不気味なんですが・・・ 何かが、うまくいってないのだと思いますが、私には、何が悪いのか分かりません。 そして、もう1つ気になることなんですが、新しくサイトを追加する前に、既存のサイトの中身を修正していたのですが、修正した内容が、再 構築してもサイト上に反映されなかったので、そのサイトを削除したんです。そのサイトはMTをインストールした際に最初に作成したサイ トでID=1のサイトだったんです。もしかしたら、この最初に作成したサイトを削除したのが何かの原因になっているのかも・・・と思っているのですが・・・ 恐れいりますが、MTに詳しい方がいらっしゃいましたら、修正方法などを教えていただけませんでしょうか? よろしくお願いします。 =====ここまで===== いろいろ調べているうちに、シェルで使える容量のメモリー不足が原因では??? という書き込みを見つけました。 shではなく、「wgetなどでCGI経由で動作させると回避できます」 というヒントがあったので、CGIで動かすための設定を試みているのですが、この設定方法がどういう手順で進めればいいのか困惑しております。 手順をご存知の方がいらっしゃれば、アドバイスいただけませんでしょうか? 【分からない点】 (1)cron設定を行う場合、通常、cron.shファイルを作成し、FFFTPでアップロードすると思いますが、これをCGIで実行したい場合、ファイルの中身はどのような記述をすればいいのでしょうか? 正常に行なえていた際のshファイルの中身の記述は #!/bin/sh cd /virtual/×××/public_html/mt /usr/bin/perl ./tools/run-periodic-tasks echo exit にしており、これで動いておりました。 CGIで動かす場合、上記、#!/bin/shの直下に下記の記述を加えると書いてあったのですが・・・ echo "Content-Type: text/plain" echo echo "OK." このようにしても・・・動きませんでした。 #!/bin/sh echo "Content-Type: text/plain" echo echo "OK." cd /virtual/×××/public_html/mt /usr/bin/perl ./tools/run-periodic-tasks echo exit CGIで動かす際のファイルの中身の記述内容を教えてください。 (2)ファイルの中身が完成した際の保存ですが、「cron1.cgi」でいいですか?拡張子を.cgiにする・・・と書いてあったのですが・・・ (3)そのファイルのアップ先は、public_htmlと同階層にアップでいいでしょうか? それともmtフォルダの中でしょうか? 以上、3点なんですが、この他にも、CGIで動かすための手順がありましたら、是非、アドバイスをお願いいたします。

みんなの回答

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.1

気付いた点だけ。 パーミッションの設定はしました? サーバー側のcronジョブの設定は変更しました?(cron1.sh→cron1.cgiへ) (2)拡張子が.cgiになっていれば、ファイル名はなんでもいいんじゃないかと思います。 (3)外部からアクセスできればどこでもいいんだと思います。今までmtディレクトリの中に入れてたのだったら、同じでいいのでは。 どちらも、とにかくcronジョブの設定(パス)と合っていれば。 これでもだめだったら、カテゴリー的に「ブログ」で聞かず技術屋向けの方で聞いた方が早いかもしれませんよ。MTは使ってるけど、メインはcronの話なので。

kamon00
質問者

お礼

アドバイスありがとうございます。 まずは、やってみます。 ダメだったら、アドバイスいただいた通り、違う方向でも聞いてみます。

関連するQ&A