« WWDC '07 Widget | メイン | 起動まで27秒 »

2007年05月12日(土)

今更MT3.1x+Xreaの日付指定エントリ

未だにMT 3.171-jaを使っております。

私がお借りしているサーバはxrea。
MTの機能である「日付指定エントリ」が出来ないのは
何故なのか?と思いつつ、追求せずに来てしまいました。
しかしせっかくある機能。
頻繁に使うかどうかは別として、
まずは調べてみようとネットを回ってみました。

要はxreaのサーバ側にcronジョブの設定が必要だった
という事でした。

以下、MT 3.171-jaで成功した方法をメモしておきます。

まずはスクリプトエディタで以下の記述をします。
(私は長らく愛用させて頂いているmiで作成。)
テキストエンコーディングはEUC-JP
改行コードはLF(UNIX)。

#!/bin/sh
cd /virtual/*****/public_html/mt/
/usr/bin/perl ./tools/run-periodic-tasks
echo Future: MT3.171 run-periodic-tasks
echo
exit

以上6行になります。
*****はユーザIDを入れます。
2行目のpublic_html以下はMTのあるディレクトリを指定します。
私は/mt/に置いてあるので、上記のようになっています。

これを「cron1.sh」と名前を付けて保存し、
FTPでmtディレクトリにASCII、もしくはTextとしてアップし
パーミッションは700、もしくは705にします。

続いてmtディレクトリ内のtoolsディレクトリに入り、
run-periodic-tasksのパーミッションを705にします。
私の場合は、変更せずとも元々705になっていました。

次にxreaの管理画面にログイン、コントロールパネルの
左側管理メニュー、下から3番目「CRONジョブ」をクリック。
/virtual/*****/は既に書かれているので、
その先の空欄に
public_html/mt/cron1.sh
と、先ほどアップしたcron1.shまでのパスを記入します。

分/時/日/月/曜日をそれぞれ埋めます。
これはいつ実行されるかを指定する欄で、
大抵の場合、日/月/曜日は*(アスタリスク)で良いと思います。

分の所は、0から59までのどれかを指定します。
例えば、○時15分としたい場合は、15
○時45分としたい場合は、45等です。

時の所は、何時に投稿させたいかを指定します。
11時だとしたら11、午後9時だとしたら21等です。

その他、決まった時刻ではなく、2時間に一度実行させたい
(投稿待ちエントリがあれば投稿する)場合は、*/2
6時間に一度の実行であれば、*/6と指定します。

整理すると、○時ジャストに投稿させたい、
実行は6時間に一度としたい場合は
0 */6 * * * 

21時ジャストに投稿させたい場合は
0 21 * * *
となります。
これで保存をクリックし、しばらく経つと反映されます。

実行頻度が高いとサーバに負荷がかかるので
xreaでは最短で一時間に一度を限度としているようです。
必要以上の実行は避け、
負荷がかかりすぎていないか、
管理コンパネからアクセス統計のチェックもお忘れ無く。

今回の指定日時の投稿設定ですが、最初は失敗しました。
cron1.shとサーバコンパネに入れるパスの記述でつまづいたのです。
最初に辿り着いた解説サイトでは、public_html下にドメインを入れると
書いてあったのですが、どうも動かない。
ドメインのlyrical.bizをpublic_html以下に記述するのかしないのか。

#!/bin/sh
cd /virtual/*****/public_html/lyrical.biz/mt/
/usr/bin/perl ./tools/run-periodic-tasks
echo Future: MT3.171 run-periodic-tasks
echo
exit

最初はこのように書いたのですが、実行されない。
そちらのサイトはMT3.3を基準に解説されているし
3.1x以下だと違うのかなぁと
色々解説サイトを探してみたところ、やはりドメイン部分は不要らしく
書き直ししてみたところ動いてくれました。

これはMT3.3以降と、3.1xの違いなのかも良く分かっていません(^^;;

3.1xのディレクトリをsubで同期している場合は、
public_html以下にドメイン名を入れる必要があるのかも、
とか、何にも分かっていないくせに妄想してみたりしています。


2007年5月16日 訂正。
>これを「corn1.sh」と名前を付けて保存し、
を「cron1.sh」に訂正しました。

投稿者 keiko : 2007年05月12日 03:05 [ tips ]

トラックバック

このエントリーのトラックバックURL:
http://lyrical.biz/mt/mt-tb.cgi/247

コメント

うちもxreaを使っていますよ(^^)
うちの相方のブログもなんで指定日時に公開されないんだろうなぁ〜
と思っていましたが、そういう理由でしたか。
参考になります(^^)

で、ドメイン名を入れるかどうかって言うのは、サブドメインを
作った場合、そのドメインのパスは 〜/public_html/サブドメイン
となりますので、そういう解説になったのかと思います。
# サブドメインの設定によっては〜/public_htmlと同一にすることができます。

なお、うちの場合はCRONジョブを毎日データベースの
バックアップに使用しています。

投稿者 せきせい : 2007年05月16日 07:27

せきせいさんもxreaをお使いでしたか。
xreaは安いのに出来る事が幅広くて良いですよね^^

日付指定については長らく疑問に思いつつも
ちゃんと調べず来てしまいました。
ごく普通に考えれば、パスはpublic_htmlの直下で良いんですよね(^^;;

サブドメインは、テストで一つ作ってあり
そこにMTを置こうかなと考えていたのですが
根本的に分かっていない事が多すぎのため
見送りにしたまんま3年経ってしまいました(^^;;


エントリ中
>corn1.shと名前を付けて保存し、
↑間違えてる・・・お恥ずかしい・・・
正しくは
cron1.sh
訂正しておきます。

投稿者 keiko : 2007年05月16日 19:02

コメントしてください




保存しますか?