No Pain, No Gain

プログラミングで日常をちょっとだけ楽にしよう。

【Cron】ネットオウルのミニバードで定期的にPHPスクリプトを実行する方法

月額がやっすいミニバードでCronを実行する方法。 定期的にPHPスクリプトを実行させてみましょう。

1. アップロードするPHPファイルの1行目に以下を記述する。

#!/usr/bin/php

これを記述していないと、Cronが実行されない。 エラーも送られてこないのでわかりにくい。

これを記述していないと、PHPスクリプトは実行はされるが、

?php: そのようなファイルやディレクトリはありません

というエラーが表示されてしまう。

2. PHPファイルをアップロードする。

FFFTPとかを使ってファイルをアップロードする。 /cron/test.php みたいな感じで任意のディレクトリにアップロードする。

「任意のディレクトリに」という意味は、FFFTPなどを使ってホスト(ミニバード上)に新しくディレクトリを作ってしまってもいいよという意味。 ここでは cron という新しいフォルダを作ってその中にPHPファイルをアップロードしている。

3. アップロードしたPHPファイルの属性(実行権限)を「700」に変更する。

f:id:hayeta:20171110171259p:plain

これを行わないと、「Permission denied」のエラーが出る。 画像はFFFTPで属性を変更しているところ。

4. ミニバードの管理画面でCronを登録する。

サポートマニュアル /格安・大容量レンタルサーバーのミニバード

上記マニュアルを参考にCronを登録する。

このマニュアルで補足説明が必要と感じた点はコマンドの登録についての部分。

例) /home/(サーバーID)/(ドメイン名)/public_html/...

「サーバーID」は同画面の「サーバー情報」で見ることが出来る。 「サーバー情報」ページの「ドキュメントルート」の箇所に「サーバーID」が書いてある。

f:id:hayeta:20171110171743p:plain

ドメイン名」は自分のサイトのURLのこと。

/home/(サーバーID)/xxx.yyy.jp/public_html/...

のように「.(ドット)」でつなげて入力すればOK。(「ドット入力していいのかなぁ。。」と思ったので。)

ここで言う「public_html」が手順2でいう /(ルート) に当たるため、今回の例では、/cronを指定する。

/home/(サーバーID)/xxx.yyy.jp/public_html/cron/test.php

これで完了。