Linux システムで PHP スクリプトを使用してディスク領域の監視を実装する方法
はじめに:
ディスク領域の監視は、システム管理において非常に重要なタスクです。Linux システムの場合、PHP スクリプトを作成することで、自動ディスク容量監視を実装できます。この記事では、PHPを使用してディスク情報を取得し、設定した閾値に基づいて判定や警報を行う方法と、具体的なコード例を紹介します。
ステップ 1: PHP を通じてディスク情報を取得する
ディスク情報を取得するには、Linux システムのシェル コマンド df を使用できます。以下は、ディスク情報を取得して出力する PHP 関数の例です。
function get_disk_space() { $output = shell_exec('df -h'); $lines = explode(" ", trim($output)); $data = array(); foreach ($lines as $line) { $cols = preg_split('/s+/', $line); if (sizeof($cols) > 1 && is_numeric($cols[1])) { $data[] = array( 'filesystem' => $cols[0], 'size' => $cols[1], 'used' => $cols[2], 'avail' => $cols[3], 'percent' => $cols[4], 'mounted' => $cols[5], ); } } return $data; } $disk_space = get_disk_space(); print_r($disk_space);
上記のコードでは、shell_exec 関数を介して df -h コマンドが実行され、ディスク情報を取得します。結果は次のとおりです。線で区切られています。次に、各行をループし、正規表現を使用して各行のデータを配列に分割し、ディスク情報を含むデータをフィルターで除外します。最後に、すべてのディスク情報を含む配列が返されます。
ステップ 2: しきい値による判定とアラーム
ディスク使用量監視では、通常、しきい値を設定しますが、ディスク使用量がしきい値を超えた場合には、適時にアラームを発行する必要があります。以下に判定と警報を行う関数の例を示します。
function check_disk_space($threshold) { $disk_space = get_disk_space(); foreach ($disk_space as $disk) { if (intval($disk['percent']) >= $threshold) { $message = "磁盘空间警报:文件系统 {$disk['filesystem']} 使用超过阈值 {$threshold}%"; // 发送警报邮件或其他操作 // ... echo $message . " "; } } } $threshold = 80; // 设置阈值为80% check_disk_space($threshold);
上記のコードでは、get_disk_space 関数を呼び出してディスク情報を取得しています。次に、ディスク情報配列を走査し、 intval 関数を使用してディスク使用率を整数に変換し、設定されたしきい値と比較します。しきい値を超えると、アラート電子メールの送信やディスク容量アラートに対する他のアクションの実行などのアラート アクションがトリガーされます。
概要:
上記のコードを記述することで、PHP スクリプトを使用して Linux システムのディスク領域を監視できます。まず、shell_exec 関数を通じて df コマンドを呼び出してディスク情報を取得し、解析して配列に保存します。次に、しきい値を設定することにより、設定された警告ラインを超えているかどうかが判断され、対応する警報動作がトリガーされます。この方法は、システム管理者がディスク容量を適時に監視し、ディスク容量不足によって引き起こされる問題を防ぐのに役立ちます。
注: 上記のコード例は参考用です。特定のニーズや環境に応じて適切に調整してください。
以上がLinux システムで PHP スクリプトを使用してディスク容量監視を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。