運維常用shell

2021-09-20 16:37:11 字數 2235 閱讀 8742

列出你最常用的10條shell

history | awk 'end}' | sort -rn | head

history | awk 'end}' | sort -rn | head 

grep -v "#" .bash_history |awk 'end'  | head

網路連線數目 

netstat -an | grep -e "^(tcp)" | cut -c 68- | sort | uniq -c | sort -n     #檢視狀態數連線數

netstat -ntu | awk '' | cut -d: -f1 | sort | uniq -c | sort -nr|head -n 20 #統計ip連線數

netstat -an -t | grep ":22" | grep established | awk '' | sort | wc -l #程序連線數

取網絡卡ip

/sbin/ifconfig |sed 's/.*inet addr:\(.*\) bca.*/\1/g' |sed -n '/br/' #雙網絡卡繫結用這個

/sbin/ifconfig |sed 's/.*inet addr:\(.*\) bca.*/\1/g' |sed -n '/eth/' #普通網絡卡用這個

ifconfig eth0 |grep "inet addr:" |awk ''|cut -c 6-  或者 

ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '' 

系統資訊統計

dmidecode -t system |grep -e 'serial'|awk -f':' '' (系統序列號查詢)

cat /proc/cpuinfo  | grep cpu | awk  -f: '' |  sort|uniq -c (cpu核數)

dmidecode -t system |grep 'product'|awk ''  (單板裝置型別)

dmidecode | grep -p -a 5 'memory device' | grep size | grep -v range|grep -i -v "no module"|sed -r 's/^\s+//g' | sort|uniq -c (記憶體大小)

echo `/sbin/ifconfig |sed 's/.*inet addr:\(.*\) bca.*/\1/g' |sed -n '/eth/' ` `hostname` >>/etc/hosts 取ip和主機名定向到/etc/hostname  

系統抓包分析

tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts  (tcpdump 抓包 ,用來防止80埠被人攻擊時可以分析資料 )

less | awk ' ' | cut -d. -f 1-4 | sort | uniq -c | awk '' | sort -n -t\   +0 (然後檢查ip的重複數 並從小到大排序 注意 "-t\ +0" 中間是兩個空格 )

系統程序管理

ps -eo pid,lstart,etime | grep 26871 (程序執行時間)

lsof -p 10412 (檢視程序開啟的檔案 10412是程序的pid)

ps -e -o "%c : %p : %z : %a"|sort -k5 -nr  (檢視程序 按記憶體從大到小排列 )

ps -e -o "%c : %p : %z : %a"|sort -nr     (按cpu利用率從大到小排列)

ps aux |grep mysql |grep -v grep |awk '' |xargs kill -9  (殺掉mysql程序)

killall -term mysqld  殺掉mysql程序:

ps -eal | awk '}' | kill -9 殺掉僵死程序

網絡卡流量

dstat -acdgilmnprsttfy (centos檢視網絡卡流量)

iftop   (suse系統網絡卡流量)

sar -n dev 1 10 (suse系統網絡卡流量)

iotop -o (檢視那個程序最磨磁碟)

檔案管理

刪除0位元組檔案 

find -type f -size 0 -exec rm -rf {} \; 

檢視目錄下10個大檔案

du -cks * | sort -rn | head -n 10 

du -h --max-depth=1  /home 

運維常用shell指令碼

開頭加直譯器 bin bash 語法縮排,開頭用四個空格 多加注釋說明。命名規則 變數名大寫 區域性變數小寫 函式名小寫 名字能夠體現實際作用。預設變數是全域性的,在函式中變數local指定為區域性變數,避免汙染其他作用域。指令碼寫完後一定要先除錯再線上使用。echo random md5sum c...

mysql常用運維 (MYSQL常用運維指令)

1 mysql執行狀態 service mysqld status service mysqld start service mysqld stop 2 檢視sql程序,清理sql程序 show full processlist kill 2920578 3 賬號建立 資料庫授權 4 密碼修改 my...

運維 我常用的shell指令碼彙總

某天發現 home分割槽滿了,想知道是哪個目錄佔了大頭,使用該指令碼可以幫你完成排序 du max depth 1 home sort n r max depth 1只統計一級目錄 sort n r按照數字 逆序排序 ps ef egrep foo bar grep v grep awk xargs...