hetemlのcronでPHPスクリプトを動作させる方法

レンタルサーバーのhetemlではcronを使用することができるが
cronを使ってphpスクリプトを実行させようとした際に手こずったので覚え書き

まずはcronを実行する為のシェルスクリプトファイルを作る

#!/bin/sh

cd /home/sites/heteml/users/*****/web/++++++/;
/usr/local/bin/php ./hoge.php;
exit;

***** … ユーザーフォルダを指定
+++++ … 実行するPHPスクリプトの保存先パスを指定

文字コードを『Shift-JIS』、改行コードを『LF』で保存(例:hoge.sh)

 

そして、実行させたいPHPスクリプト(hoge.php)の最初の行に
『#!/usr/local/bin/php』を記述
※PHP5を使用している場合は『#!/usr/local/bin/php5』

2つのファイルをFTPアップロードする。
ファイルの属性(パーミッション)は『700』、アスキーモードでFTP転送

hetemlのコントロールパネルのcron設定の画面で
cron の設定名 … 自分が分かりやすいネーミングで
実行ファイルフルパス … /web/%%%%%/hoge.sh

%%%%% … hoge.shを保存した場所へのパス

 

実行結果をメールで知らせる設定ができるので、そこにメールアドレスを記入しておくと
エラー文も送られてくるので分かりやすい。

『No such file or directory』や『Could not open input file:』などの表記の場合は
記述が間違っているのでよく悩む
(改行コードや、フォルダへのパス指定があっているかどうか等)