FRED™  3.0
FRED™: Framework for Rapid and Easy Development
Disk.php
Go to the documentation of this file.
1 <?php
2 
4 
5 class Disk extends \Rsi\Fred\Health\Check{
6 
7  public $path = '/'; //!< Path (disk) to check.
8  public $limit = 80; //!< Maximum disk usage level (percent).
9  public $message = 'High disk usage [disk] [perc] ([used] of [size], [free] free)';
10 
11  public function check(&$message = null){
12  $value = $message = null;
13  if(count($data = preg_split('/\\s+/',exec('df -h ' . escapeshellarg($this->path)))) == 6){
14  $value = rtrim($data[4],'%');
15  if($this->limit && ($value > $this->limit))
16  $message = strtr($this->message,array_combine(['[disk]','[size]','[used]','[free]','[perc]','[mount]'],$data));
17  }
18  return $value;
19  }
20 
21 }
Rsi\Fred\Health\Check\Disk
Definition: Disk.php:5
Rsi\Fred\Health\Check\Disk\$path
$path
Path (disk) to check.
Definition: Disk.php:7
Rsi\Fred\Health\Check\Disk\$limit
$limit
Maximum disk usage level (percent).
Definition: Disk.php:8
Rsi\Fred\Health\Check\Disk\check
check(&$message=null)
Definition: Disk.php:11
Rsi\Fred\Health\Check
Definition: Disk.php:3
Rsi\Fred\Health\Check\Disk\$message
$message
Definition: Disk.php:9