linux shell实现端口查询

需求:

查找22端口请求数最高的前 20个IP地址,判断中间最小的请求数是否大于10,如大于10,则输出系统活动情况报告到/tmp/sar.txt,如果没有,则在 600s 后重试,直到有输出为止。

实现:

22.sh

#!/bin/bash

state="true"

while $state
do
 requests=$(netstat -ant | awk -F'[ :]+' '/:22/{count[$4]++} END {for(ip in count) print count[ip]}' | sort -n | head -20 | tail -1)
 if [ "$requests" -gt 10 ];then
   sar -A >/tmp/sar.txt
   state="false"
 else
   sleep 600
   continue
 fi
done

验证:

[root@logstash ~]# sh 22.sh 
[root@logstash ~]# 
[root@logstash ~]# cat /tmp/sar.txt 
Linux 3.10.0-1160.el7.x86_64 (logstash) 	05/28/2024 	_x86_64_	(4 CPU)

09:30:19 AM       LINUX RESTART

09:40:01 AM     CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest    %gnice     %idle
09:50:01 AM     all      0.01      0.00      0.05      0.00      0.00      0.00      0.00      0.00      0.00     99.94
09:50:01 AM       0      0.00      0.00      0.03      0.00      0.00      0.00      0.00      0.00      0.00     99.97
09:50:01 AM       1      0.00      0.00      0.03      0.01      0.00      0.00      0.00      0.00      0.00     99.96
09:50:01 AM       2      0.02      0.00      0.06      0.00      0.00      0.00      0.00      0.00      0.00     99.92
09:50:01 AM       3      0.01      0.00      0.07      0.00      0.00      0.00      0.00      0.00      0.00     99.92
10:00:01 AM     all      0.00      0.00      0.03      0.02      0.00      0.00      0.00      0.00      0.00     99.94
10:00:01 AM       0      0.00      0.00      0.03      0.00      0.00      0.00      0.00      0.00      0.00     99.96
10:00:01 AM       1      0.00      0.00      0.04      0.01      0.00      0.00      0.00      0.00      0.00     99.95
10:00:01 AM       2      0.01      0.00      0.03      0.01      0.00      0.00      0.00      0.00      0.00     99.96
10:00:01 AM       3      0.00      0.00      0.03      0.08      0.00      0.00      0.00      0.00      0.00     99.88
10:10:01 AM     all      0.00      0.00      0.04      0.00      0.00      0.00      0.00      0.00      0.00     99.95
10:10:01 AM       0      0.00      0.00      0.03      0.00      0.00      0.00      0.00      0.00      0.00     99.96
10:10:01 AM       1      0.00      0.00      0.03      0.01      0.00      0.00      0.00      0.00      0.00     99.96
10:10:01 AM       2      0.00      0.00      0.04      0.00      0.00      0.00      0.00      0.00      0.00     99.96
10:10:01 AM       3      0.01      0.00      0.06      0.00      0.00      0.00      0.00      0.00      0.00     99.93
Average:        all      0.01      0.00      0.04      0.01      0.00      0.00      0.00      0.00      0.00     99.94
Average:          0      0.00      0.00      0.03      0.00      0.00      0.00      0.00      0.00      0.00     99.96
Average:          1      0.00      0.00      0.03      0.01      0.00      0.00      0.00      0.00      0.00     99.96
Average:          2      0.01      0.00      0.04      0.00      0.00      0.00      0.00      0.00      0.00     99.95
Average:          3      0.01      0.00      0.05      0.03      0.00      0.00      0.00      0.00      0.00     99.91

09:40:01 AM    proc/s   cswch/s
09:50:01 AM      0.95    375.43
10:00:01 AM      0.40    355.37
10:10:01 AM      0.41    362.94
Average:         0.59    364.58

09:40:01 AM  pswpin/s pswpout/s
09:50:01 AM      0.00      0.00
10:00:01 AM      0.00      0.00
10:10:01 AM      0.00      0.00
Average:         0.00      0.00

09:40:01 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
09:50:01 AM      0.59      1.56    308.51      0.01    151.75      0.00      0.00      0.00      0.00
10:00:01 AM      7.35      0.84     85.22      0.01     95.23      0.00      0.00      0.00      0.00
10:10:01 AM      0.28      0.83     91.07      0.00     96.80      0.00      0.00      0.00      0.00
Average:         2.74      1.08    161.60      0.01    114.59      0.00      0.00      0.00      0.00

09:40:01 AM       tps      rtps      wtps   bread/s   bwrtn/s
09:50:01 AM      0.25      0.02      0.23      1.17      3.12
10:00:01 AM      0.24      0.10      0.14     14.69      1.68
10:10:01 AM      0.17      0.01      0.15      0.56      1.67
Average:         0.22      0.04      0.18      5.48      2.16

09:40:01 AM   frmpg/s   bufpg/s   campg/s
09:50:01 AM    -16.36      0.00      0.38
10:00:01 AM     -3.46      0.00      1.73
10:10:01 AM     -0.07      0.00      0.08
Average:        -6.63      0.00      0.73

09:40:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
09:50:01 AM   3396904    629248     15.63      2124    207728    628220      7.77    162324    185704         4
10:00:01 AM   3388604    637548     15.84      2124    211888    631488      7.81    165676    189524         4
10:10:01 AM   3388424    637728     15.84      2124    212076    631488      7.81    165920    189644         4
Average:      3391311    634841     15.77      2124    210564    630399      7.79    164640    188291         4

09:40:01 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
09:50:01 AM   4063228         0      0.00         0      0.00
10:00:01 AM   4063228         0      0.00         0      0.00
10:10:01 AM   4063228         0      0.00         0      0.00
Average:      4063228         0      0.00         0      0.00

09:40:01 AM kbhugfree kbhugused  %hugused
09:50:01 AM         0         0      0.00
10:00:01 AM         0         0      0.00
10:10:01 AM         0         0      0.00
Average:            0         0      0.00

09:40:01 AM dentunusd   file-nr  inode-nr    pty-nr
09:50:01 AM     11644      2464     29413        15
10:00:01 AM     11721      2528     29456        15
10:10:01 AM     11753      2560     29464        15
Average:        11706      2517     29444        15

09:40:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
09:50:01 AM         0       203      0.00      0.01      0.04         0
10:00:01 AM         0       205      0.00      0.01      0.04         0
10:10:01 AM         0       204      0.00      0.01      0.04         0
Average:            0       204      0.00      0.01      0.04         0

09:40:01 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
09:50:01 AM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM    dev8-0      0.25      1.17      3.12     16.96      0.00      0.14      0.10      0.00
09:50:01 AM  dev253-0      0.28      1.17      3.12     15.44      0.00      0.14      0.09      0.00
09:50:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM    dev8-0      0.24     14.69      1.68     67.77      0.00      6.65      5.65      0.14
10:00:01 AM  dev253-0      0.26     14.69      1.68     63.39      0.00      6.26      5.28      0.14
10:00:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM    dev8-0      0.17      0.56      1.67     13.24      0.00      3.60      3.56      0.06
10:10:01 AM  dev253-0      0.18      0.56      1.67     12.38      0.00      3.37      3.33      0.06
10:10:01 AM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       dev8-0      0.22      5.48      2.16     34.53      0.00      3.39      3.00      0.07
Average:     dev253-0      0.24      5.48      2.16     31.96      0.00      3.16      2.78      0.07
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

09:40:01 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:50:01 AM vethe931c85      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM     ens32      1.65      2.29      0.20      0.31      0.00      0.00      0.00
09:50:01 AM ens32.200      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM ens32.100      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM        lo      1.47      1.47      0.14      0.14      0.00      0.00      0.00
09:50:01 AM docker_gwbridge      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM vethe931c85      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM     ens32      0.57      1.42      0.05      0.10      0.00      0.00      0.00
10:00:01 AM ens32.200      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM ens32.100      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM        lo      1.47      1.47      0.14      0.14      0.00      0.00      0.00
10:00:01 AM docker_gwbridge      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM vethe931c85      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM     ens32      1.30      1.81      0.11      0.21      0.00      0.00      0.00
10:10:01 AM ens32.200      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM ens32.100      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM        lo      1.49      1.49      0.14      0.14      0.00      0.00      0.00
10:10:01 AM docker_gwbridge      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    vethe931c85      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        ens32      1.17      1.84      0.12      0.20      0.00      0.00      0.00
Average:    ens32.200      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    ens32.100      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:           lo      1.48      1.48      0.14      0.14      0.00      0.00      0.00
Average:    docker_gwbridge      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

09:40:01 AM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
09:50:01 AM vethe931c85      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM     ens32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM ens32.200      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM ens32.100      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM docker_gwbridge      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:50:01 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM vethe931c85      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM     ens32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM ens32.200      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM ens32.100      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM docker_gwbridge      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM vethe931c85      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM     ens32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM ens32.200      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM ens32.100      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM docker_gwbridge      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    vethe931c85      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        ens32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    ens32.200      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    ens32.100      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    docker_gwbridge      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

09:40:01 AM    call/s retrans/s    read/s   write/s  access/s  getatt/s
09:50:01 AM      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM      0.00      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00      0.00

09:40:01 AM   scall/s badcall/s  packet/s     udp/s     tcp/s     hit/s    miss/s   sread/s  swrite/s saccess/s sgetatt/s
09:50:01 AM      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:00:01 AM      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:10:01 AM      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

09:40:01 AM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
09:50:01 AM      1430        19         3         2         0         0
10:00:01 AM      1430        19         3         2         0         0
10:10:01 AM      1430        19         3         2         0         0
Average:         1430        19         3         2         0         0
[root@logstash ~]# 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黑要上天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值