cronを使って毎日定時に動くシステムを作ってみた!

こんにちは、そーまっちです。

前回作成した、PHPスクリプトファイルをサーバ上で動かして

毎日定時にSSL証明書の有効期限を取得してslackにおくるようなにしたい!

いろいろ調べるとcronを使うとできるらしいい。。

PHPでSSL証明書の有効期限を取得してみた。

PHPでslackにメッセージを送るbotを作ってみた

cronとは?

UNIX系OS(Linux,CentOS,,)に入っているプログラムのひとつ

Cronの設定はcrontabというコマンドで行うことができ、

phpファイルを指定した時間に自動実行することができるみたいだ!

 

cronの書き方

  • 書式

  • 設定する値
0~59の値で指定。*を指定した場合、毎分となる。
0~23の値で指定。*を指定した場合、毎時となる。
1~31の値で指定。*を指定した場合、毎日となる。
1~12の値で指定。*を指定した場合、毎月となる。
曜日 0~7の値で指定。*を指定した場合、毎日となる。
コマンド 実行するコマンドやシェルスクリプトを指定する。

実際にコマンドを書くと下記の様になるようです。

分に「25」、時に「16」、日・月・曜日は「*」でコマンドが「engineerlog.php」というPHPファイルを指定しています。

参照

 

PHPスクリプトを準備

前回作成したスクリプトを参考にして、

PHPでSSL証明書の期限をslackに送るファイルを準備しましょう。

engineer.php

 

cron試してみよう!

macユーザーの方はターミナルで以下のコマンドを入力

するとcrontabが開きます!

実行する日時を指定して、実行するphpファイルのパスを絶対パスで指定します。
phpを実行するには「/usr/bin/php 」を書き、その後にファイル名を記載します。
サーバごとに書き方が違うかもしれないので、「/usr/bin/php」か「/usr/local/bin/php」で設定します。

毎日10時に「cron.php」を実行する場合、下記のように記載します。

参照

続いて下記内容を記載していきます。

16時25分にengineerlog.phpを実行するように依頼します。

●●●
そーまっち

ドキドキ、、、、、

 

無事に自動でメッセージが届きました!

xserver上で設定する場合

レンタルサーバ上でcronを設定すると便利ですよね!

各レンタルサーバ会社によってやり方が異なったりするようなので、

xserverのマニュアルだけ添付しておきます。

マニュアルはこちら

 

以上、crinをつかって自動でSSL証明書を取得し通知してくれるシステムでした。