經常使用的運維組合命令

1,統計日誌下各類狀態碼的個數,統計個數並倒序,只統計500等:bash

    統計httpd狀態碼個數並返回前5種的數量:服務器

        

awk -F " " '{print $9}' access_log-20170115 |sort -r |uniq -c |head -n 10

        這裏的問題是,sort和uniq其實均可以去重,可是uniq要求要連續,因此這裏用sort排倒序,用uniq統計數量, head取top n,排序,統計+topcurl

2,尋找某目錄下文件並{操做:刪,移}:tcp

    有個坑,find 後要加"\;",並且必須加,中間還不能有空格,不然會missing arg:url

    找出全部1天內有變更的文件(被黑後常見用法):日誌

find / -mtime -1 > motify.log

   移動當前目錄下大於30m的文件到臨時目錄:code

find . -size +30M -exec mv {} /tmp/ \;

  3,如何禁止一個用戶登陸(系統被黑了如何鎖定root並給root一個新的名字),或者,如何同時給600臺服務器同時修改用戶名密碼。排序

   /etc/passwd 文件查看能獲取/bin/bash的用戶有哪些,一旦這些修改就不能登陸;若是同時修改大量系統的用戶名密碼,能夠用ansible遠程執行passwd/usrdel 命令,更簡單的一個方式,本地執行後將passwd和shadow文件拷貝到全部目標服務器dns

    4,查看端口的佔用進程進程

1,lsof -i port
2,netstat -anpl |grep port |awk

    5,查詢當前系統tcp鏈接數(awk的用法)

awk -F: "./ " "/^...$/ BEGIN {}  {}  END {}"

這裏-F是每行的切割條件,/^...$/表示的是正則匹配只取這些行,begin表示第一行顯示的,end表示最後一行顯示的,中間的{}表示要循環顯示的

netstat -an |awk '/^tcp / {print $1}'|sort -r |uniq - c

netstat -an |grep tcp //爲何不用grep,這裏只對部分字段計數

1,查看下載文件的 head

curl -XHEAD -v http://www.baidu.com

查看下載速度

bind_part = "--bind-dns-address=%(bind_ip)s --bind-address=%(bind_ip)s" % {"bind_ip": bind_ip}


wgetnew --bind-dns-address=%(bind_ip)s --bind-address=%(bind_ip)s --header="Host: %s" -t 3 -T 120 --limit-rate=%(rate)s -O %(tempfile_path)s '%(source_url)s'

注意參數:

bind-dns-address  獲取dns 時使用的ip ,這也是帶運營商的

bind-address 出口 ip (用於多ip 能夠指定走運營商的線路)

header

-t 重試次數

-T 超時時間

--limit-rate 限速

相關文章
相關標籤/搜索