巡检脚本,执行过程中发生卡顿,无法执行下一步命令:如下图所示;
被检端口都正常,脚本全文如下,请大佬帮忙指点该怎么修改!谢谢!
报错图:
脚本全文:
#!/bin/bash
hostname | awk '{print "主机名称:" $1}'
/sbin/ifconfig -a | grep inet | grep -v inet6 | grep -v 127.0.0.1 | awk '{print "本机IP地址:" $2}'
free -m | awk '/Mem/{print "总内存=" $2"MB"}'
free -m | awk '/Mem/{print "使用中的内存=" $3"MB"}'
free -m | awk '/Mem/{print "空闲内存=" $4"MB"}'
free -m | awk '/Mem/{print "进程共享内存=" $5"MB"}'
free -m | awk '/Swap/{print "交互区总内存=" $2"MB"}'
free -m | awk '/Swap/{print "交互区使用中内存=" $3"MB"}'
free -m | awk '/Swap/{print "交互区空闲内存=" $4"MB"}'
df -h / | grep -v Filesystem | awk '{print "磁盘信息=" $5}'
for a in $(cat ./port.txt)
do
netstat -ntulp | grep $a
[ -z $a ] && echo "[$a]端口不存在"
done
for a in $(cat ./port.txt)
do
PID=netstat -antpu | grep $a | grep tcp6 | grep LISTEN | awk '{print $7}'| awk -F / '{print $1}'
done
for i in PID
do
top -p $PID | awk '/$PID/{print $2"占用CPU率=" $10"%"}'
done
#进程占有内存率
PID='netstat -antpu | grep $a | grep LISTEN | grep tcp6 | awk '{print $7}'| awk -F / '{print $1}''
for i in PID
do
top -p $PID | awk '/$PID/{print $2"占有内存率=" $10"%"}'
done
把 awk -F / '{print $1}' 替换为cut -d '/' -f 1
[root@curating ~]# echo "1725/postgres" |cut -d '/' -f 1
1725
PID='netstat -antpu | grep $a | grep LISTEN | grep tcp6 | awk '{print $7}'| awk -F / '{print $1}''
这里的PID='多了一个‘号,你把这个去掉