Home > web(CMS・アプリ) > MovableType、cronで指定日投稿(公開予約)する

MovableType、cronで指定日投稿(公開予約)する

どノーマルのMovableType では、指定日投稿(公開予約)ができません。


CORESERVER + MovableType に変更してからテンプレートも落ち着いてきたので、指定日投稿などのスケジュールタスクが動作するように、サーバーに cron をセッティングしてみました。作業時間に15分、動作確認に数十分、詳細は以下です。

(CORESERVER に MovableType(ここでは4.21) がセッティング済みという前提で)


▼作業手順

  1. テキストエディタでタスクファイルを作成する。
  2. タスクファイルをサーバーにアップロードする。
  3. ファイルをリネームする。
  4. CORESERVER の管理画面で「CRONジョブの編集」を行う。
  5. 動作確認をして終了。


1.タスクファイルの作成 (メモ帳でOK)

テキストエディタで新規ファイルを作成します。下記の行を記述・編集したら保存します(*.txt)。エンコードと改行方法は使っているOSのデフォルト。Windowsならエンコードは「Shift_JIS」改行方法は「CR+LF」 です。

#!/bin/sh
cd /virtual/MyID/public_html/~MT/
/usr/bin/perl ./tools/run-periodic-tasks
echo
exit


MyID は、CERESERVERのアカウント名。
以下、~MT/ までは、mt.cgi のあるディレクトリへのパス。

ファイルネーム、ボクは「cron_entry.txt」にしました。


2.FTPアップロード

FTPソフトを使って、タスクファイル「cron_entry.txt」をCERESERVERアカウントのトップディレクトリにアップロードします。このとき、転送モードは「アスキー」ホストの漢字コードは「EUC(UNIX系の場合)」を使います。

/virtual/MyID/
↑このディレクトリです。


3.ファイルのリネーム:

アップしたら、ファイル名を「cron_entry.txt」から「cron_entry.sh」に変更します。

これでFTPの作業は終わりです。


4.CORESERVER の管理画面操作

管理画面にログインしたら、「CRONジョブ」をクリックします。

CORESERVER の cron 設定

cron の動作スケジュールを 分・時・日・月・曜 で設定します。cron の動作間隔は最短で1時間に1回、ボクは毎時00分に1回の割合でスケジュールタスクを動かしています。設定が終わったら、下段の空欄に..。

cron_entry.sh


と記述します。内容が間違いなければ保存します。


ただしこのままでは、毎回CRONジョブが終了するごとに動作完了の確認メールが届きます。このメールが不要の場合は、以下のように一部記述を追加します。


CORESERVER の cron 設定


>/dev/null 2>&1


を追記します、これで確認メールは届かなくなります。

個人的には、5.で動作確認するまではメールをもらった方がいいと思います。


5.投稿日指定の動作確認

先に指定した CRONジョブの時刻をまたぐようにテスト投稿を予約しましょう。時刻をすぎてブログが更新されていれば成功です。


うまく行かない場合:

とりあえず、CORESERVER側の設定では間違いにくいので、1.~2.のファイル作業で下線部分に注意してもう一度トライしてみてください。

それと、サーバーの反応に少し時間がかかる(数十分)ので、分・時・日・月・曜 はセカセカ更新しない方が良いと思いますよ。

(関連:MovableType - 指定日投稿や公開キュー等のスケジュール処理の設定

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://www.shimom.com/apps/mt-tb.cgi/598
Listed below are links to weblogs that reference
MovableType、cronで指定日投稿(公開予約)する from 古い)SHIMOM式

Home > web(CMS・アプリ) > MovableType、cronで指定日投稿(公開予約)する

Recent Entries
Categories
Search
Archives
Recent Trackbacks
About
Feeds

Return to page top