BashTop:Bash 寫的 Linux 即時資源監控程式

Linux 要查看系統資源使用的情況,最常使用 top、htop 等等,此篇這套最特別的是監控有 UI,而且圖形會動~

閱讀全文〈BashTop:Bash 寫的 Linux 即時資源監控程式〉

Memcached 資料備份、重新啟動、還原的 Script

Memcached 全部資料都在記憶體(RAM)裡面,所以只要重新啟動,全部資料都會消失,想要重新啟動,但是資料都還保留著的話,應該怎麼做呢?

閱讀全文〈Memcached 資料備份、重新啟動、還原的 Script〉

AWK 取得欄位的「最後」與「倒數第二個值」的方法

使用 AWK Parse access.log,在某些特定條件會發生抓錯欄位的情況(若使用 空白 切割,沒使用 " 搭配切割,就容易抓錯欄位)

不過經常快速處理,都是使用空白切割即可,那要抓最後的欄位,比較簡單的方式就是一樣「空白切割」或「" 切割」,只是資料抓法是從後面往前抓。

  • AWK 要取得最後一個欄位的值是使用: $NF
  • AWK 要取得倒數第二個欄位的值是使用: $(NF-1)
  • 由後往前取,就繼續 -2、-3... 下去即可
  • 範例:awk '{print $(NF - 2)}' # 從後面數來第二個

所以要抓 access.log 倒數第二欄 和 第二欄,範例如下:

  • cat access.log | awk -F\" '{print $(NF-2),$2}' # 使用 " 切割

想抓超過 500ms 的網址(註:elapsed 並不是預設就有,需要另外加上)

  • cat access.log | awk -F\" '{print $NF,$2}' | awk '{print $1,$3}' | sed 's/elapsed=//' | sed 's/us//' | awk '{if ($1 > 500000) {print $1, $2}}'
  • cat access.log | awk -F\" '{print $(NF-2),$2}' | awk '{print $1,$3}' | sed 's/elapsed=//' | sed 's/us / /' | awk '{if ($1 > 500000) {print $1, $2}}'

Vim 指定 檔案名稱 使用特定的 Syntax

.bashrc 越寫越多,想要將 alias、function 等等拆開,但是遇到 Vim Syntax Highlight 預設不支援的問題,要怎麼解決呢?

  • 註:於檔案最後面加上 # vim: syntax=sh 沒有效用

閱讀全文〈Vim 指定 檔案名稱 使用特定的 Syntax〉