6 Einträge, 1 Seite |
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
<?
//0 - 100 : 100 = best
$ip = file("/etc/lighttpd/server_ip.conf");
$ip = $ip[0];
$ary = explode('"',$ip);
$ip = $ary[1];
if(!$fp = fopen("http://$ip/ldirector.html","r"))
{
echo 0;
exit();
}
else
{
$uptime = shell_exec("uptime");
$load = substr($uptime,strpos($uptime,"load average:")+strlen("load average:")+1);
$ary = explode(",",$load);
$load = $ary[0] * 100;
if($load >= 400)
{
echo 1;
exit();
}
$h = 100;
for($i = 0; $i < 400; $i+=4)
{
if($load >= $i && $load <= $i+3)
{
echo $h;
exit();
}
$h--;
}
}
echo 0; //fallback, falls irgendwas nicht stimmt
Quoteversuchen via http eine datei zu holen, klappt dies nicht, wird 0 ausgegeben, da der webserver wohl nicht läuft
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
#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
my $ipconf='/etc/lighttpd/server_ip.conf';
my $site='http://%s/ldirector.html';
open(my $fh, '<', $ipconf) or die($!);
my $ip=<$fh>;
$ip=~s/^.+"([^"]+?)".+$/$1/s;
close($fh);
unless(get(sprintf($site,$ip)))
{print 1; exit;}
my $uptime=`uptime`;
(my $load)=$uptime=~/load average:\s+([\d.]+)/;
$load*=100;
if($load>400)
{print 0; exit;}
print 100-int($load/4);
exit;
6 Einträge, 1 Seite |