cronをMAMP環境で使う方法

MAMP環境において、cronを使う方法について紹介します。

cronを使って、PHPファイルを自動で指定した時間に実行してみます。

cronとは

設定した時間に命令を実行するためのUNIX系OSのデーモンプロセスのことです。基本的にmacOSやLinuxで扱うことができます。

※UNIX系OS・・・UNIXという最古のOS(詳しくはこちら
※デーモンプロセス・・・定期的時刻に実行するプロセス。バックグラウンドプロセス。(詳しくはこちら

「毎日7時に、その日の株価を取得する」とかいうときに便利です。自動で指定した時間に何かをさせることが可能です。

cronでPHPファイルを実行する(MAMP環境)

では、実際にcronを使ってPHPファイルを実行してみます。MAMP環境で行います。

※MAMP・・・サーバー環境を手軽に構築できるソフト。

PHPファイルを準備

まず、実行するphpファイルを準備しましょう。

/Applications/MAMP/htdocs の中にcron_testというフォルダを作成します。そして、どのフォルダの中にcron_test.phpというファイルを作成します。

cron_test.phpには、こんな感じのコードを書きます。

<?php

file_put_contents("test.txt", "hello");

?>

file_put_contentsはデータをファイルに書き込む関数です。ここでは、text.txtというテキストファイルに”hello”と書き込みます。

ブラウザで、http://localhost/cron_test/cron_test.phpにアクセスすると、test.txtが作成されて、ファイルを開くと”hello”と書き込まれているのがわかります。

cronで指定した時間にphpファイルを実行

では、このhttp://localhost/cron_test/cron_test.phpにアクセスすることを、cronを使って、指定した時間に行なってみましょう。

macのターミナルを開きます。場所は/Applications/Utilities/Terminal.app

※ターミナル・・・コマンドと呼ばれる命令文を用いてMacの操作や設定をおこなうツール。

ターミナルに、以下のcronを設定するコマンドを書きます。ディレクトリはどこでもOKです。

$ crontab -e

以下のようになります。

次に、『 i キー』を押すと、編集可能になります。

『実行時間 + 実行するコマンドのパス』を入力します。

実行時間は、分、時、日、月、曜日を指定し、半角空白を空けて入力します。実行時間の書き方の詳細こちらを。

参考記事【cron】定期的に処理を行う【MacOS】【Linux】

以下は、『17時57分にhttp://localhost/cron_test/cron_test.phpを開く』という意味です。

$ 57 17 * * * open http://localhost/cron_test/cron_test.php

『escキー』を押し、『 :wq 』(ファイルを保存し終了する)と入力します。これらはviコマンドと言って、viコマンドについてはこちらのページを参考にしてください。

参考記事viコマンド(vimコマンド)リファレンス

すると、「”ターミナル.app”がコンピュータを管理することを要求しています。管理にはパスワード、ネットワーク、およびシステム設定の変更が含まれます。」と表示されます。

『OK』をクリックします。

設定した時間(17時57分)になると、ブラウザに、http://localhost/cron_test/cron_test.phpが表示されます。

すると、test.txtが作成されて、ファイルを開くと”hello”と書き込まれているのがわかります。

指定した時間にphpファイルを実行できました!

以上。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です