- df 監控可用磁碟空間與inode數舉
- 語法
df [options] [dir] - 說明
顯示dir所的檔案系統磁碟空間用量。df會依據/etc/fastab 組態檔找出dir掛載點,然後顯示檔案系統資訊。若沒指定dir,則df會顯示所有已掛載的檔案系統資訊 - 常用選項
-h 以較容易辨識的單位(M、G)顯示數值
-i 顯示inode用量資訊。若不指定,則顯示磁碟空間用量
- 範例一
檢視所有檔案系統的磁碟空間用量:
# df -h - 範例二
檢視所有檔案系統的inode用量:
# df -i - 範例三
查看目前工作目錄位於哪個分割區:
# df .
- 範例一
- 語法
- du 監控磁碟用量
- 語法
du [options] [directories] - 說明
顯示directories的磁碟使用資訊。如果省略directories,則顯示現行工作目錄的用量。 - 常用選項
-a 顯示所有檔案,不只是目錄。
-c 累計所顯示的項目總用量
-h 以較容易辨識的單位(M、G)顯示數值
-s 僅印出指定目錄本身摘要資訊,而不是遞迴顯示每個子目錄
-S 子目錄的用量不列入計算
- 範例一
檢祖/etc/rc.d 的disk用量
# du /etc/rc.d - 範例二
顯示 /etc 的disk用量:
# du -sh /etc - 範例三
顯示 /etc 的disk用量,但不包括其下的子目錄:
# du -Ssh /etc - 範例四
誰耗用最多空間(/home/*):
# du -csh /home/*
排序
# du -cs /home/* | sort -nr #用h會當成文字 ex, 1k,11k,2k
- 範例一
- 語法
星期三, 5月 30, 2012
linux監控磁碟空間
iframe autoresize
先前一直從iframe內部出發,向parent呼叫調整高度
後來發現... parent自己取iframe的內容高去調整就可以了
References
Iframe Auto Resize Height
後來發現... parent自己取iframe的內容高去調整就可以了
References
Iframe Auto Resize Height
將scroller移到最上面
星期六, 5月 26, 2012
php 時間轉換函式
- 轉換unix timestamp為可讀日期時間
線上轉換date("Y-m-d H:i:s", $timestamp);
- 可讀日期轉換unix timestamp
strtotime("2009-11-03 11:24:00PM");
星期三, 5月 23, 2012
php array轉xml, json
轉json就沒什麼好說的了,想說轉xml應該也是很簡單的東西,不過還真遇到一些問題
結合一下兩者,利用同一個function回覆
- array to xml
原本在google了一段code後,後來發現有中文xml會掛掉因為有不合法字元,
後來找到以下的code有編碼過,才知道原是編碼的問題
function toXml($data = array(), $structure = NULL, $basenode = 'xml'){ // turn off compatibility mode as simple xml throws a wobbly if you don't. if (ini_get('zend.ze1_compatibility_mode') == 1) { ini_set('zend.ze1_compatibility_mode', 0); } if ($structure == NULL) { $structure = simplexml_load_string("<?xml version='1.0' encoding='utf-8'?><$basenode />"); } // loop through the data passed in. $data = $this->_force_loopable($data); foreach ($data as $key => $value) { // no numeric keys in our xml please! if (is_numeric($key)) { // make string key... //$key = "item_". (string) $key; $key = "item"; } // replace anything not alpha numeric $key = preg_replace('/[^a-z_]/i', '', $key); // if there is another array found recrusively call this function if (is_array($value) OR is_object($value)) { $node = $structure->addChild($key); // recrusive call. $this->_format_xml($value, $node, $basenode); } else { // Actual boolean values need to be converted to numbers is_bool($value) AND $value = (int) $value; // add single node. $value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES, 'UTF-8'), ENT_QUOTES, "UTF-8"); $UsedKeys[] = $key; $structure->addChild($key, $value); } } // pass back as string. or simple xml object if you want! return $structure->asXML(); } function _force_loopable($data){ // Force it to be something useful if ( ! is_array($data) AND ! is_object($data)) { $data = (array) $data; } return $data; }
- 下header
browser才會當成xml,而不是html
$array = array(...); header('Content-type: application/xml;charset=utf-8'); exit(toXml($array)) ;
結合一下兩者,利用同一個function回覆
//給header用 $_supported_formats = array( 'xml' => 'application/xml', 'rawxml' => 'application/xml', 'json' => 'application/json', 'jsonp' => 'application/javascript', 'serialize' => 'application/vnd.php.serialized', 'php' => 'text/plain', 'html' => 'text/html', 'csv' => 'application/csv' ); function response($data, $format = 'json'){ header('Content-type: '.$this->_supported_formats[$format]); switch (strtolower($format)){ case 'xml': exit($this->toXml($data)); case 'json': default: exit(json_encode($data)); } }
訂閱:
文章 (Atom)