-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathstatusupdate.txt
37 lines (29 loc) · 1.34 KB
/
statusupdate.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
/** DISK **/
$return_data['disk']['free'] = disk_free_space('/');
$return_data['disk']['total'] = disk_total_space('/');
$return_data['disk']['used'] = $return_data['disk']['total'] - $return_data['disk']['free'];
/** LOAD **/
$return_data['load'] = sys_getloadavg();
/** MEMORY **/
$fh = fopen('/proc/meminfo', 'r');
while ($l = fgets($fh)) {
$meminfo[strtok($l, ':')] = trim(strtok(''));
}
fclose($fh);
$return_data['memory']['bufcac'] = intval(str_replace(' kB', null, $meminfo['Buffers'])) + intval(str_replace(' kB', null, $meminfo['Cached']));
$return_data['memory']['free'] = intval(str_replace(' kB', null, $meminfo['MemFree'])) + $return_data['memory']['bufcac'];
$return_data['memory']['total'] = intval(str_replace(' kB', null, $meminfo['MemTotal']));
$return_data['memory']['used'] = $return_data['memory']['total'] - $return_data['memory']['free'];
/** UPTIME **/
$fh = fopen('/proc/uptime', 'r');
$uptime = fgets($fh);
fclose($fh);
$uptime_secs = $uptime % 60;
$uptime_mins = floor($uptime / 60) % 60;
$uptime_hrs = floor($uptime / 60 / 60) % 24;
$uptime_days = floor($uptime / 60 / 60 / 24);
$return_data['uptime'] = $uptime_days > 0 ? $uptime_days . ' day'.($uptime_days > 1 ? 's' : '') : $uptime_hrs.':'.$uptime_mins.':'.$uptime_secs;
header('Content-Type: text/plain');
print json_encode($return_data, JSON_PRETTY_PRINT);
?>