本文出自:2BE

 


PHP Shell Script 檢查伺服器狀況
Shell script 是 Linux 上非常好用的東西

最近在寫了一支簡單的 PHP shell 在 Linux 上面去檢查各服務狀況

貼上程式碼分享給大家

程式執行畫面

#!/usr/bin/php -q
<?php
while(1){
$site = "localhost";
$http = fsockopen($site, 80);
$ftp = fsockopen($site, 21);
$mysql = fsockopen($site, 3306);

echo "\033[1;33m".date('Y-m-d H:i:s')."\033[0m\n";
echo("\033[1;37mHTTP\t: ". fn_chksock($http) ."\033[0m\n");
echo("\033[1;37mFTP\t: " . fn_chksock($ftp) . "\033[0m\n");
echo("\033[1;37mMySQL\t: " . fn_chksock($mysql) . "\033[0m\n");

$uptime = trim(shell_exec('uptime'));
if ($uptime) {
if (preg_match("/up ([0-9.]+ [a-z]*, [0-9.]+:[0-9.]+), ([0-9.]+) user(.*) load average: (.*), (.*), (.*)/", $uptime, $matches)) {
echo("Uptime : $matches[1]");
echo(", Current Users : $matches[2]");
echo(", Current Load : $matches[4]");
echo(", Load 5 mins ago : $matches[5]");
echo(", Load 15 mins ago : $matches[6]");
} else {
echo($uptime);
}
} else {
echo("cannot run command : 'uptime'");
}

echo " ".shell_exec('uname -s -r')."\n";
sleep(10);
}

function fn_chksock($check) {
if ($check) {
return "\033[01;32mworking...\033[0m";
} else {
return "\033[01;31mdie.\033[0m";
}
}

?>

如果還有別的服務 port 可以 fsockopen 在去 check 一個端口就可以了..

我還加了顏色顯示 ...

伺服器掛掉會顯示紅色 !!!

 


 

補充:執行畫面 by 胖虎 (2009/3/17)

php script檢查server狀態_執行畫面

 

這個程式是輸出在終端機畫面上,不是網頁喔。

 

 

 

創作者介紹

胖虎的祕密基地

idobest 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • mypetertw
  • 請問一下
    我用了這段語法後
    就出現錯誤了耶? 我全部網站都沒辦法開啟....

    [12-Jan-2017 15:25:53 Asia/Taipei] PHP Warning: shell_exec(): Unable to execute 'uptime' in /home2/***/public_html/xxx.php on line 81
    [12-Jan-2017 15:25:53 Asia/Taipei] PHP Warning: shell_exec(): Unable to execute 'uname -s -r' in /***/icechick/public_html/xxx.php on line 96

    xxx是我放那個code的地方...

    現在都顯示500錯誤
    即便我刪除xxx.php了還是一樣.....
找更多相關文章與討論