Raspberry Pi3 の温度とHDD容量などを
定期的に監視させたくて色々と調査した所
こちらのサイトに良い方法があったので使用する事にしました。
事前準備
①.sendmail 導入
②.PHP 導入
③.check_server.php の作成
check_server.php の作成方法
<?php $SERVER_IP = 'サーバーのIPアドレス'; $URL = 'ホームページのアドレス情報'; $MAIL_TO = 'メールアドレス'; $MAIL_FROM = 'RPi'; //pingチェック $ping_command_str = "ping -c 3 -w 5 $SERVER_IP"; if (!strstr(`$ping_command_str`, '100% packet loss')) { $result = "$SERVER_IP ping ok\n"; } else { $result = "$SERVER_IP ping ng\n"; } //webアクセスチェック if ($res = file_get_contents($URL)) { $result .= "{$URL} access ok\n"; } else { $result .= "{$URL} access ng\n"; } //ハードディスク容量チェック $current_space = intval(disk_free_space('/') / 1024 / 1024); $total_space = intval(disk_total_space('/') / 1024 / 1024); $result .= 'disk free: '. $current_space .'MB/'. $total_space ."MB\n"; //メモリ使用量チェック $memory_result = explode("\n", `free -m`); $memory_pattern = "#^-/\+ buffers/cache: +([0-9]+) +([0-9]+)$#"; preg_match($memory_pattern, $memory_result[2], $memory_info); $result .= 'used memory: '. $memory_info[1] .'MB/'. intval($memory_info[1] + $memory_info[2]) ."MB\n"; //温度チェック $temperature_result = shell_exec('vcgencmd measure_temp'); $result .= 'temperature: '. $temperature_result."℃\n"; //結果をメール送信 $mail_header = "From: $MAIL_FROM"; mail($MAIL_TO, 'check result', $result, $mail_header); ?>
crontab の設定
①.vi /etc/crontab
crontab を編集します。
*/15 * * * * root /usr/bin/php /tmp/check_server.php
15分間隔でメールを送信する設定です。