/home/unix Личенен блог на Радослав Панев

13апр/100

Сървър инфо

Здравейте,
вчера се заиграх и реших да си подобря малко скрипта за сървърната информация под FreeBSD. И да упражня уменията, който научих скоро за CSS и PHP. Който разбира от тия два езика със сигурност ще ми намери грешки. Знам, че не е много удачно да се използват системни команди в PHP но все пак...ето ви кода и css-а. Демо тук.

  1. <?php
  2. // #################################################################
  3. // Server Information v1.2.0
  4. // #################################################################
  5. //
  6. // Website    : http://www.bsd-bg.com/
  7. // Support    : http://panev.bsd-bg.com/
  8. // Filename   : info.php
  9. // Updated    : 13/04/2010
  10. // Support OS : FreeBSD
  11. //
  12. // #################################################################
  13. ?>
  14. <html>
  15. <head>
  16. <title><?php system("hostname"); ?> - Информация за сървъра</title>
  17. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  18. <link type="text/css" rel="stylesheet" href="style.css">
  19. </link></head>
  20. <body>
  21. <pre>
  22. <center>
  23. <h2>Информация за сървъра: ъптайм, натоварване и хардуерана спецификация</h2>
  24. <table>
  25. <tr>
  26. <td>Сървър</td>
  27. <td>Сървър статистика</td>
  28. </tr>
  29. <tr>
  30. <td>Дата и час</td>
  31. <td><?php
  32. $data=time();
  33. $newdata=date("d m Y H:i",$data);
  34. echo $newdata;
  35. ?></td>
  36. </tr>
  37. <tr>
  38. <td>Име на сървъра:</td>
  39. <td><?php system("hostname"); ?></td>
  40. </tr>
  41. <tr>
  42. <td>Сървър IP:</td>
  43. <td><?php echo $_SERVER['SERVER_ADDR']; ?></td>
  44. </tr>
  45. <tr>
  46. <td>За последно reboot:</td>
  47. <td><?php system("last -1 reboot"); ?></td>
  48. </tr>
  49. <tr>
  50. <td>За последно shutdown:</td>
  51. <td><?php system("last -1 shutdown"); ?></td>
  52. </tr>
  53. <tr>
  54. <td>Ъптайм:</td>
  55. <td><?php
  56. $uptime = @exec('uptime');
  57. preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",$uptime,$avgs);
  58. $uptime = explode(' up ', $uptime);
  59.  
  60. $uptime = explode(',', $uptime[1]);
  61.  
  62. if (strpos($uptime[0],"day")===false){
  63.   if (strpos($uptime[0],"min")===false){
  64.     $days = 0;
  65.     list($hours, $minutes) = explode(':',trim($uptime[0]));
  66.   }
  67.   else{
  68.     $days = $hours = 0;
  69.     $minutes = (int)$uptime[0];
  70.   }
  71. }
  72. else{
  73.   $days = (int)$uptime[0];
  74.   list($hours, $minutes) = explode(':',trim($uptime[1]));
  75. }
  76.  
  77. $hours = (int)$hours;
  78. $minutes = (int)$minutes;
  79.  
  80. $server = gethostbyaddr ($_SERVER['SERVER_ADDR']);
  81.  
  82. echo "$days дни, $hours часа и $minutes минути";
  83.  
  84. if ($_SERVER['HTTP_HOST']!="HTTP_HOST"){
  85.  
  86. }
  87. ?>
  88. </td>
  89. </tr>
  90. <tr>
  91. <td>Ъптаймв в %:</td>
  92. <td><?php
  93. $uptime = @exec('uptime');
  94. preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",$uptime,$avgs);
  95. $uptime = explode(' up ', $uptime);
  96. $uptime = explode(',', $uptime[1]);
  97. $uptime = $uptime[0].', '.$uptime[1];
  98. $start=mktime(0, 0, 0, 1, 1, date("Y"), 0);
  99. $end=mktime(0, 0, 0, date("m"), date("j"), date("y"), 0);
  100. $diff=$end-$start;
  101. $days=$diff/86400;
  102. $percentage=($uptime/$days) * 100;
  103. echo $percentage; ?></td>
  104. </tr>
  105. <tr>
  106. <td>Натоварване</td>
  107. <td><?php system("uptime | awk -F'load averages:' '{ print $2 }'"); ?></td>
  108. </tr>
  109. <tr>
  110. <td>Информация за ОС:</td>
  111. <td><?php system(" uname -rs"); ?></td>
  112. </tr>
  113. <tr>
  114. <td>Твърд диск:</td>
  115. <td><?php system("df -h"); ?></td>
  116. </tr>
  117. <tr>
  118. <td>Процесор:</td>
  119. <td><?php system("dmesg | sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu' "); ?></td>
  120. </tr>
  121. <tr>
  122. <td>RAM:</td>
  123. <td><?php system("dmesg | grep memory"); ?></td>
  124. </tr>
  125. <tr>
  126. <td>VMSTAT</td>
  127. <td><?php system("vmstat & vmstat -i"); ?></td>
  128. </tr>
  129. </table>
  130. <table>
  131. <tr>
  132. <td><center><a href="http://jigsaw.w3.org/css-validator/check/referer">
  133.         <img style="border:0;width:88px;height:31px"
  134.             src="http://jigsaw.w3.org/css-validator/images/vcss"
  135.             alt="Валиден CSS!" />
  136.     </a>
  137.    </center>
  138.     </td>
  139. </tr>
  140. </table>
  141. </center></pre>
  142. <center>
  143. <p class="link">2009-2010 <a href="http://panev.bsd-bg.com" target="_blank">BSD-BG</a> - Радослав Панев</p>
  144. </center>
  145. </body>
  146. </html>

Ето и style.css

  1. body {
  2.   background: url('logo.png');
  3.   background-repeat: no-repeat;
  4.   background-attachment: fixed;
  5.   background-position: top left;
  6.   font-size: 8px;
  7.   color: black;
  8.   font-family: Verdana,arial, helvetica, serif;
  9.   margin : 0 0 0 0;
  10. }
  11.  
  12. h2 {
  13.   font-size: 24px;
  14.   color: black;
  15.   font-family: Verdana,arial, helvetica, serif;
  16.   margin : 0 0 0 0;
  17. }
  18. p {
  19.   font-size: 14px;
  20.   color: black;
  21.   font-family: Verdana,arial, helvetica, serif;
  22.   margin : 0 0 0 0;
  23. }
  24. table{
  25. width: 1000px;
  26. border-style: dotted;
  27. border-width: 1px;
  28. color: #000000;
  29. }
  30. tr{
  31. border-style: solid;
  32. border-width: 1px;
  33. color: #000000;
  34. }
  35. td{
  36. width: 3px;
  37. height: auto;
  38. border-style: solid;
  39. border-width: 1px;
  40. color: #000000;
  41. }
Сподели с приятели:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogmarks
  • MySpace
  • PDF
  • RSS
  • Socialogs
  • Webnews.de
  • Add to favorites
  • Live
  • MyShare
Коментари (0) Връзки за обратно следене (0)

Няма все още коментари.


Leave a comment

(required)

Все още няма връзки за обратно следене.