CORESERVERでCRONを使う方法


CRONとは、定期的にプログラムを自動実行してくれる機能です。
当サイトの更新情報収集のプログラムも、このCRONで動いています。

今回コアサーバーで、CRONを動かそうとした際につまずいた箇所の覚書です。

 

参考サイトCRONをXREA/CORESERVERで利用する方法

用意するファイル

  • cron.sh (705) ルートディレクトリに設置(一番上の階層)
  • cron1.php (705) public_htmlディレクトリ内に設置
  • cron2.php (606) public_htmlディレクトリ内に設置

 

カッコ内の数字はファイルのパーミッションです。

 

040301

スクリプトの中身

cron.sh

#!/bin/sh
#PHP
/usr/local/bin/php /virtual/***(アカウント)/public_html/cron1.php
exit

注意点は、文字コードと改行コードです。

  • 文字コード:SHIFT-JIS
  • 改行コード:LF

にします。
今回私は、ここでつまずいてしまいました。
メモ帳だと、改行コードが指定できなかったため、TeraPadを使用しました。

cron1.php

<?php
# 出力先ファイル名を設定します。
$fileName = 'cron2.php';
// 書き込む文字列
$string = date('Y年m月d日 H時i分s秒');
$string .= '<br>';
# データを書き込みます。
file_put_contents($fileName, $string, FILE_APPEND );

cron2.php

//このファイルに時刻を自動的に書き込みます。
//空でOK。仮に
test

CRONジョブの設定

040302

ファイル設置後 管理画面-CRONジョブ より起動設定をします。
起動したい時間を設定し、
ファイルのパスには、 cron.sh と記述します。

動作確認

数時間たってから、cron2.phpにアクセスしてみましょう。
起動時間が書き込まれていれば、成功です。

040303