sh 运维常用外壳脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 运维常用外壳脚本相关的知识,希望对你有一定的参考价值。
### 根据进程id查端口号
netstat -anop|grep 12146
### 统计访问日志IP和每个IP访问的次数
cat /home/wwwlogs/access-test.log | awk '{print $1}' |sort| uniq -c |sort -rn |head -10
### CPU占用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k3|head -10
### 内存占用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
### 虚拟内存使用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k5|head -10
### 查看每个php-fpm占用内存
ps -ylC php-fpm --sort:rss | awk 'NR>1 {$8=int($8/1024)"M";}{ print;}'
### 查看php-fpm平均使用内存
ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'
### 文件大小排序并取前10个
```
du -s ./access.log* | sort -rn | head
```
### 将当前目录下所有aaa都替换为bbb
```
grep -rl 'aaa' ./ | xargs sed -i "" "s/aaa/bbb/g"
```
### 查看进程线程个数
```
ps hH p pid | wc -l
```
### 强制结束内存(CPU)消耗高的php-fpm进程
#!/bin/sh
fpms=ps aux | grep php-fpm | grep -v grep | awk '{if($4>=5)print $2}' # 内存是$4,cpu是$3,$2是进程号,内存>5%
for fpm in $fpms;
do kill -9 $fpm echo date +'%F %T' $fpm >>/var/log/php5/kill.log
done
### 磁盘监控
#!/bin/sh
diskinfo="/tmp/diskinfo.txt"
for d in `df -P | grep /dev | awk '{print $5}'| sed 's/%//g'`
do
if [ $d -gt 90 ];then
df -h>>$diskinfo;
#sendmail
mutt -s "disk warining!" "1399534656@qq.com" <${diskinfo} -a ${diskinfo}
exit 0;
fi
done
#awk https://segmentfault.com/a/1190000009745139
以上是关于sh 运维常用外壳脚本的主要内容,如果未能解决你的问题,请参考以下文章
sh 常用外壳命令
sh 监控的php-fpm的进程数并自动重启PHP-FPM的外壳脚本
Linux常用Shell脚本,值得学习及收藏
##无监控,不运维,以下是监控里常用的脚本监控
Linux常用shell脚本
shell介绍