Atelierで“cron”タグの付いているブログ記事

2018年12月10日

隠居のPC備忘録:Xserver - Movable Type 7 での指定時投稿の方法

Movable Type をバージョンアップする前(MT4.0) にはできていたのに、7 にアップしてから指定日時投稿ができなくなった。普段あまりそのようなことをすることはないのだが、年賀状の記事投稿を元旦の早朝に上げるような時に使っていた。今年は 9月に Movable Type をバージョンアップしているので、一度試しておこうとテストしてみた。が、うまくいかない。
 MT の記事編集画面で公開日時を指定し、サーバー上で同時に(私は、MovableType の運用は、レンタル・サーバーの Xserver を使っている。)cron 設定で日時を指定することまでは覚えていた。cron を使う方法は変わっていないと思うのだが、以前は見よう見まねで、どこからかひらってきたコマンドでうまくいっていたのだ。こうなると基本的な知識がないから、原因がさっぱり検討がつかない。
 このようなページで、cronとは何かの学習から始めなければならなかったが、なんとか自力で公開日時投稿ができるようになったので、備忘録として記録しておきたい。歳とともに、記憶力は極端に減衰してきている。

【MT の記事編集画面で公開日時を指定する】
 編集画面の右カラムで、【公開】の「ステータス」で 日時指定 を選択する。その下の「公開する」で日付ボックスをクリックするとカレンダーが表示されるので、記事をアップしたい日付を選ぶ。その下の時刻表示では、時間(24時間):分(2桁):秒(2桁)で設定する。
【保存】ボタンをクリックして保存する。MT の記事編集画面でする作業はこれだけである。

【Xserver での cron 設定】

  • Xserverのサーバーパネルにログインする。
  • 【アカウント】のグループにある「⇒Cron設定」を選択する。
  • 【Cron設定】画面で、「CRON一覧」タブの、「予約投稿テスト」の「変更」ボタンをクリックする。
    一般的な解説ページでは、「CRON追加」タブを選択し、新たに、日時指定と実行するコマンドを入力するように説明されているが、一回限りの日時指定投稿では、すでに作成しているコマンドを利用する方が楽ちんである。
  • 出てきた画面で、下の表のルールで日時指定をする。例えば、1月1日午前1時ちょうどならば、分:0 時間:1 日:1 月:1 曜日:* という風に設定する。* は何曜日でも適応される。 

    cron-04.JPG

  • コマンド欄には、次のように入力する。
    cd /home/ユーザ名/ドメイン/public_html/cgi/mt77; ./tools/run-periodic-tasks
    「変更」の場合には、コマンドはすでに表示されているから、編集する必要はない。実は、つまづいたのはこの部分である。指定日時投稿を実行する run-periodic-tasks というスクリプトは、MT アプリケーションファイルが収納されているフォルダー(私の場合:/public_html/cgi/mt77 )にある tools というフォルダーにある。このフォルダーへのパスである /home/ユーザ名/ドメイン/public_html/cgi/mt77 の後ろに /(trailing slash) をつけているとうまくいかない。それと、./tools/run-periodic-tasks へのつなぎ(;)もよく理解できていない。Linux script の書き方らしいが。マネするしかしかたない。

    cron-03.JPG


【FTPで、run-periodic-tasks のパーミッション設定】
FFFTPを使って、ファイル [run-periodic-tasks] のパーミッションを 755 に設定した。ネットサーチをしていると、そのような記述があったので、修正しておいた。

この記事も、実験的に、12月10日13時に、予約投稿にしてみた。

2017年1月 6日

隠居のブログ:XServerでMovable Typeの日時指定投稿を設定する方法(備忘録)

MT4 で投稿日時指定をするときに、いつも「どのようにするんだっけ」と手さぐりになるので、手順を備忘録として残しておきたい。
  1. レンタル・サーバー Xserver のCon設定画面を開ける。(Xserver へのログインは、サーバーパネルからである)
  2. MT自動投稿とコメントしているコマンドはそのままで、日時を変更する。
    投稿月日を例えば、1月1日1時5分と指定したい時は、以下のように行う。曜日は、月曜が1で土曜日が6だが、日曜日は、0か7である。しかし、*印を入力すれば、何曜日でもOKである。

    cron01.JPG

  3. コマンドについては、以下のようなページを参考にしたようであるが、変更は不要である。
    XServerでMovable Typeの日時指定投稿を設定する方法

2012年1月 3日

隠居のMT 備忘録:記事を日時指定してアップロードする

 年賀のブログを、1月1日の0時すぎにアップロードしたいと思い、【ブログ記事の編集】画面の右メニュウにある【公開ー公開状態】で、【未公開(原稿):公開:日時指定】と選択肢の中から 日時指定 を選択して、公開する日時を 2012-01-01 00:10:00 (2012年1月1日 0時10分)と設定した。これでうまくいくはずと思っていたが、元旦の未明にトイレに起きて確認すると公開ができていない。原因を探るのは後回しにして、とりあえずいつもの方法で公開した。

 上手く行かなかった原因をググッてみると、どうやら cron 設定をしなければならないということが分かった。cron 設定は、よく理解出来ないまま、アクセス解析サービス(Research Artisan Lite) を導入した時に、した覚えがある。
参照:隠居のパソコン備忘録:アクセス解析サービス(Research Artisan Lite) の導入について(続)
 このときは、Research Artisan Lite のインストール・マニュアルにお世話になり、分からない部分は開発者に質問を出して教えてもらった。
 今回も私の環境(レンタルサーバーは Xserver、ブログソフトは、Movable Type 4)も踏まえて【Xserver MT4 cron設定】のような言葉でネットサーチしてみると、【エックスサーバーでのMT(ムーバブルタイプ)自動投稿cronの設定方法】というページがヒットした。
 Xserver には、Cron 設定というサービスが提供されている。このサービスの中に、コマンドを入力する欄がある。このページに書かれているコマンド例は、次のようになっている。
コマンド:cd /home/【サーバーID】/【mtがインストールされているドメイン】/mt/; ./tools/run-periodic-tasks

この例示通りに、【サーバーID】/【mtがインストールされているドメイン】を入力しても上手くいかない。先のResearch Artisan Lite のインストールをしたときに設定したコマンドと比べてみると、私の場合 /mt/ へ至るパスが異なることがわかった。実際には、以下のように入力してみると、上手く動くことが分かった。
cd /home/【サーバーID】/【mtがインストールされているドメイン】/public_html/cgi/mt/; ./tools/run-periodic-tasks 

このように設定しておくと、今後は Xserver のインフォパネルを開いて日時の数字を変え、ブログ編集画面で日時指定を行えば、投稿日時を指定することができる。
試しに、この記事を2012年1月3日朝6時に、アップロードする指定にして見ることにした。

(追記:2012/1/3) 今朝確認すると、朝6時に公開されていた。あまり、公開日時を指定するような記事を書くことはないが、MT での技がひとつ増えたと思っている。

2010年4月17日

隠居のパソコン備忘録:アクセス解析サービス(Research Artisan Lite) の導入について(続)

 フリーのアクセス解析サービスResearch Artisan(RA) が5月の下旬で終了になること、「リサーチアルチザンライト(Research Artisan Lite) (RAL)」というソフトがオープンソースとして提供されており、それの導入に挑戦をしてみたことを前回のエントリーで書いた。

 RAのサービスで便利だったのは「メール送信」というサービスである。前日または前月あるいは選択した期間でのアクセス内容をメールで知らせてくれるサービスである。RALでも、「メール送信」を設定することができることになっている。インストール画面に、設定画面があるので、これに従えばよくて、Outlook などのメールボックス設定が自分でできる人では、それほど難しくはない。ただ、これだけでは手動で「メール送信」ができるだけである。

 例えば、毎日、前日のアクセスを翌日に定期的にメール配信する設定は、RAの場合のように簡単ではない。自動的にプログラムを実行する仕組みの cron というものを設定しなければならない。今までにやったことはない。設定の方法については、インストール・マニュアルにあるが、Web 関連の言語をある程度知っている方を対象にしてあるので、なかなか理解が難しい。この cron は、PHP というスクリプトで書くのであるが、PHP というのも Movable Type のエントリーは拡張子は php となっているがよく分かっていない。
 cron の設定は、レンタルサーバーの XSERVER に用意されている。ここでマニュアル通り設定してみたが、うまくいかない。幸い、サポート・フォーラムという掲示板があり、ここに質問を出すと、管理人の ossi さんという方がど素人の老人に丁寧に答えてくれた。私の借りているサーバー XSRVER では、PHP のバージョンが、php5 でないと駄目らしい。まず、インストールガイドの該当部分を以下のように変えた。XSERVER ではドメイン毎に PHP のバージョンを変えることができるが、これだけでは上手くいかない。
 /user/bin/php  → /user/bin/php5

 だが、エラーメッセージは出なくなったが、手動では届いているメールが、自動(cron)設定では「サイトアクセス状況」のメールが届かない。その原因は、ossi さんによれば、データベースのMySQL に、メール設定を保存するテーブル(ra_mail)にデータが保存されていないではないか(id=1で、メールアドレスのfromとto、smtpサーバーとポート番号が正しく登録されているかどうか)ということだ。指示のあったMySQL の中味を確認するソフト phpmyadmin で確認するとid の数字がおかしかった。( id の意味がよく分かっていないが)リセットの方法がよく分からなかったので、作成したばかりのデータベースを削除し、初めから作りかえた。これで、指定した時間に「サイトアクセス状況」のメールが配信されるようになった。

 この cron設定は、RAL では1週間毎の指定ができるので、これに切り替えようと思っている。5月28日までは、RARAL の二本立てがができるので、RA がなくなるまで、実験的に続けたいと思う。