2017/02/12

快速的 ping 很多主機, 並且使用網頁呈現結果.


這是以前管理很多主機的時候,寫的小工具. 雖然很簡單,但是很好用。

* 我是透過 fping 來快速的 ping 很多主機 , fping 可以執行一個列表 .txt 的清單,並且使用多執行緒的方式顯示 ping 的結果。每次 ping 大約只要 5~6 秒左右,再多的主機也是大約這樣的時間。

* 安裝 fping 程式 ,  這個工具可以快速的平行 ping 很多的主機. 可以協助快速偵測主機服務是否存在。
* http://fping.org/

* 安裝 memcached sevice and php 的 mod
http://php.net/manual/en/book.memcached.php

* 接下來我使用 php + bootstrap 顯示執行後的結果, 並且為了讓使用者不要一直 reload ,透過了 php memcached 來加速再 60 sec 內不小心的 reload page 行為。

程式連結:https://github.com/mtchang/code/blob/master/fping.php
顯示結果:


程式碼:

2017/02/04

PHP 檢查傳入的 DATE 日期是否合法,不合法的話就以現在的日期為值。

PHP 檢查傳入的日期時間是否合法,不合法的話就以現在的日期為值。


  // get example: ?current_datepicker=2017-02-03
  // ref: http://php.net/manual/en/function.checkdate.php

  function validateDate($date, $format = 'Y-m-d H:i:s')
  {
      $d = DateTime::createFromFormat($format, $date);
      return $d && $d->format($format) == $date;
  }

  // 取得 get 傳來的變數,如果有的話就是就是指定的 yy-mm-dd 沒有的話就是今天的日期
  if(isset($_GET['current_datepicker'])) {
    // 判斷格式資料是否正確
    if(validateDate($_GET['current_datepicker'], 'Y-m-d')) {
      $current_datepicker = $_GET['current_datepicker'];
    }else{
      $current_datepicker = date('Y-m-d');
    }
  }else{
    // php 格式的 2017-02-24
    $current_datepicker = date('Y-m-d');
  }
  // var_dump($current_datepicker);