實用 Linux 指令


有時會遇到臨時要透過指令快速過濾網頁log,可以考慮以下指令:
  1. 快速統計某個IP的出現次數:「cat access.log | grep 要過濾的特定內容 | awk '{print $1}' | sort -n | uniq -c | sort -rn | head
  2. 過濾特定目錄取用的次數:
    awk -F'[ "]+' '$7 == "/特定目錄" { ipcount[$1]++ }
        END { for (i in ipcount) {
            printf "%15s - %d\n", i, ipcount[i] } }' access.log
  3. 蒐集特定IP取用的目錄:
    awk -F'[ "]+' '$1 == "1.2.3.4" { pagecount[$7]++ }
        END { for (i in pagecount) {
            printf "%15s - %d\n", i, pagecount[i] } }' access.log
      
    
 快速得知目前server的tcp連線數:
  1. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

參考資料:
  1. http://serverfault.com/questions/11028/do-you-have-any-useful-awk-and-grep-scripts-for-parsing-apache-logs
----------------------------------------

查空間,查特定目錄佔用空間

du -B G --max-depth

刪除後空間仍沒釋放是有程式咬住檔案的關係,可以用下列指令找出誰咬住,砍掉就好

lsof |grep deleted

留言

熱門文章