熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP監控linux服務器負載

2013-11-15 12:22:28  來源: PHP編程 

  由於Web Server以及PHP的實現方式所限我們在現實環境中很難利用PHP去調用一些Linux中需要root權限才能執行的程序對此我從網上找到另外一種方式來繞開這個限制首先先寫個c程序中轉調用系統命令然後用PHP去執行此c程序

  c程序

  首先寫個c文件比如/usr/local/ismole/wc

  //note 由於wordpress編輯器的原因請將此代碼中頭文件多余的空格去除

  #include < stdioh>

  #include < stdlibh>

  #include < systypesh>

  #include < unistdh>

  

  int main()

  {

      uid_t uid euid;

  

      //note 獲得當前的uid

      uid = getuid();

      //note 獲得當前euid

      euid = geteuid();

  

      //note 交換這兩個id

      if(setreuid(euid uid))

          perror(setreuid);

  

      //note 執行將要執行linux系統命令

      system(/usr/bin/w);

      return ;

  }

  //note 由於wordpress編輯器的原因請將此代碼中頭文件多余的空格去除

  編譯該文件gcc o ipt Wall wc這時會在當前目錄下生成程序w

  改變此程序的屬主chmod u+s /w

  PHP執行

  文件內容如下放在web目錄下訪問就會輸出當前的服務器負載情況

  < ?php

  //note key的驗證過程

  if($key != $authkey) {

  //        exit(key error);

  }

  

  $last_line = exec(/usr/local/ismole/w $retval);

  

  $returnArray = explode(load average: $retval[]);

  $returnString = $returnArray[];

  

  echo $returnString;

  按照上面的實例我們可以用PHP來做任何我們想執行的Linux系統命令SVN更新服務器監控備份恢復日常維護等等比如《利用SVN搭建測試服務器》


From:http://tw.wingwit.com/Article/program/PHP/201311/20828.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.