Re: 自動実行ジョブの実行のさせ方

2014年7月9日 at 23:07

その後、いろいろ試してみました。

ブラウザや直接コマンドでの実行は「アクセス拒否」となります。おそらく、concrete5の中から実行しないとそうなるんだと思います。

それはそれとして、「自動実行ジョブ」、私が作ったお試しのコードと既存のsitemap.xmlを作るジョブとも共通なのですが「自動実行ジョブ」の画面で実行ボタンを押すと実行され、sitemap.xmlはできるのですが、cronに登録するとsitemap.xmlが作られません。

同じサーバーで動作しているサイトと何が違うのかをいろいろ考えてみたら、推察ですが、ドメイン直下にconcrete5が動作している場合はsitemap.xmlが作られるが、サブフォルダでconcret5が実行されている場合は、実行ボタンではsitemap.xmlが作られるが、cronでは作れないようです。

この辺、もう少し詳しく試したいのですが、どこのコードが実行されてるのか、わかりませんでしょうか。(こんな感じ)
http://xxxxx.tomo.ac/aaaaa/5.6.3.1_ja/concrete5.6.3.1.ja_devel/index.php/tools/required/jobs/run_single?auth=a64bb0ba88fb49a7a8a1953bfb1137a3&jID=6

toolsの下の、requiredはどこなんでしょうか?

Re: 自動実行ジョブの実行のさせ方

2014年7月11日 at 8:06
サブディレクトリでも、sitemap.xmlは作られました。

書かれているURLに該当するファイルは concrete/tools/jobs/run_single.php です。
 

Re: Re: 自動実行ジョブの実行のさせ方

2014年7月11日 at 8:54
ありがとうございました。

concrete/tools/jobs/run_single.php で症状がより詳しく確認しでき、「アクセス拒否」のメッセージがなぜでるかがわかりました。

wget "http:// .... run_single?auth=a64bb0ba88fb49a7a8a1953bfb1137a3&jID=10"

cron内で、""(ダブルクオーテーション)を付けてなかったので、authのみ有効で、&job=10が無効になってしまってました。
これによって、「実行ボタン」を押したらうまく実行されるのに、cronに登録するとうまく実行されない原因がわかりました。
 

Re: Re: 自動実行ジョブの実行のさせ方

2014年7月11日 at 9:03
サブディレクトリで作れない件は、実は昨日から再現しなくなりました。
ジョブとは関係ない原因だったのでしょうね。お手数かけました。