先日の記事のとおり、Google XML Sitemaps Generatorの手動更新のcronが止まってしまったので違う方法を考えなければならない。実は、昔々にも師匠に泣きついたことがあった。
> XREA & CORESERVER の cron と WordPress の wp-cron » hiromasa another
師匠はちゃんと教えてくれているのにその時のボクはこれを実行できませんでした。
どうにもこうにも待てど暮らせど、更新することが出来なかったのです。その上、エラーの内容さえもわからなかったので直しようもなく、申し訳なくてそれ以上突っ込んで訊くこともできず・・・という惨憺たる有様。しかし、今回はもうコアサーバーのcronサービスでなんとか乗り切らないとイカンでしょう。(webcronも有料になっちゃったし・・)
なんでこんな妙なことをしているのかと言えば、無駄に多い記事数ゆえ、サイトマップを投稿時に自動生成にするとタイムアウトしてエラーになるため、苦肉の策としてGoogle XML Sitemaps Generatorのオプションである手動更新をしているからなのです。
ここのURLを叩けば更新してくれますが、投稿ごとするのは面倒だし、きっと忘れます。そこで、これをcronで決まった時間に叩きます。MTの再構築ほどじゃないですが、ヘタしたら30秒以上かかることもあるのでサイトの負荷がかからない時間帯にスケジュールします。
ところが、コアサーバー(あるいはXreaプラス)では、cronサービスは相対パスで入力です。そこで、先ほどの師匠の記事のようにシェルスクリプトを作ってアップロードします。これをsitemap.shとし、属性を700にします。
#!/bin/sh cd /virtual/YOUR ID/cron/ wget https://wp.mmrt-jp.net/?sm_command=build\&sm_key=YOUR KEYNUMBER -O result
前回はこのあと確認する術がなかったのですが、今回はSSH接続して直接スクリプトを叩きます。
おー、うまくいっているようです。(パチパチ)
実は最初エラーが出ました。ログを見るとURLが途中でちょん切れていました。「&」をエスケープしてなかったのですね。おそらく、昔々できなかった(わからなかった・・)のもこれが原因でしょう。あれから、Linuxを触るようになってすこしだけわかるようになってきたのが効いているようです。
【参 考】
>スクリプト実行後の通知メールの設定
コメント
おお!さっそく真似させていただきます…!
実はその後、私は手動で sitemap 再構築叩いてました><
これで自動化させてみます。わくわく。
db のバックアップも真似してメールに送られてくるようにしたり、
Masayan さんの真似っこしまくりです
いつもありがとうございますー!
な、なんとまるで状況が一緒じゃなかですか!
け、結婚しましょう。(殺
これをするためにスゴイ検索したのですが、結局師匠のところに戻るという「灯台もと暗し」。身近なところに答えは転がっているものですねぇ。
おぉお、エスケープがいるでしたね。 なるほど、めもめもっす。
いつでも、どしどし突っ込んででいただければっ(笑)
実はぼくも 2.9.1 にしたのに wp-cron がうまく動いておりません。。
たぶん jrelated の問い合わせに時間がかかっているのだと思うのですが、調査してみます。
師匠、なんか最近元気なくない
そーなんですよ。どうやってエスケープするのか悩みました。

ダメダメっすねぇ・・・。
原因特定をお待ちしておりまする。
さ、さすが長いおつきあい
なんだか最近すぐ熱が出てみたり体調不調なんですが、大丈夫っす!
Web サーバも Linux なことが多いので、PC に Linux いれて遊んでいると勘所がついてきますよね~。 むふふ。
がんばろうとしても元気出ない時ってありますよね。ゆっくりと復活してくださいな。
yutakaさんも仕事が忙しそうでかまってくれない(笑)し、いろいろとボクの周囲は変化しているようですな。ボクも進化しなきゃなー。