サーバーの負荷を定期的に調べて、メールで通知するための方法です。
まず、定期的にスクリプトを実行するので、CRONを利用します。CRONの使い方は、こちらの過去記事を参照。
http://webmaster.chielog.com/php/39.html
サーバーの負荷を調べるには、Linuxのuptimeコマンドを利用します。
もっとも、ここでは、CRONでshを起動し、そこからPHPスクリプトを実行する方法をとります。
そのPHPスクリプトですが、次のようになります。
<?php //1.uptimeコマンドを実行 $output = `uptime`; //2.結果を分割 $pieces = explode(":", $output); //3.宛先・タイトル代入 $to = 'name@example.com; $subject = '(server no)-- '.$pieces[3]; //4.送信処理 mail($to, $subject, $output); //end
■1
上記のLinuxコマンドは、バッククオートで実行していますが、shell_exec()と同様なので、どちらを使っても良いと思います。
■ 2
結果を分割していますが、件名に負荷の値だけを表示したいので、時間の区切り文字で結果を分割して、最後の値だけを、3で付け足しています。メールの中身を見ずに、タイトルだけで、負荷の値を知ることが出来ます。
■ 3
件名には、負荷の値を表示するようにしています。
■ 4
メールの送信処理です、特に日本語は含まれないので、mail関数を使っています。
PHPスクリプトは以上です。
後は、このスクリプトをCRONから実行するために、CRONタブの設定をします。上記リンクを参考にどうぞ。
また、shスクリプトもあわせて設置してください。
PHPスクリプト、CRONの設定、shスクリプトの設置がすめば、設定したメールアドレス宛に、サーバーの負荷の値が定期的に送信されてきます。
ちなみに、当該メールの到着時間を見れば、メールサーバーの調子も推測できます。遅延したりした場合には、対処が必要になるでしょう。
以上です。