Shell监控iptables运行状态_linux shell

最近在调试服务器的iptables,自己做了个定时关iptables,但晚上回家很少开电脑,所以就没法去启动iptables,当然你可能会说,为什么不取消定时关闭iptables,我只能说个人的环境不一样,需求也就不一样.

脚本内容:

复制代码 代码如下:

vi iptables-reset.sh
#!/bin/bash
port=`iptables -vL|grep ssh|awk '{split($NF,a,":");print a[2]}'|wc -l`
if [ $port = 1 ];then
echo "ok!"
else
/etc/init.d/iptables start
sleep 2
port=`iptables -vL|grep ssh|awk '{split($NF,a,":");print a[2]}'|wc -l`
if [ $port = 1 ];then
echo "ok!"
else
/etc/init.d/iptables restart
fi
fi

验证图:

大家可以先在虚拟机里测试下,再放到服务器上执行,当然如果你服务器性能好,也可以改成死循环去检测的。

时间: 2024-09-15 15:58:46

Shell监控iptables运行状态_linux shell的相关文章

Shell脚本实现监控iptables运行状态_linux shell

最近在调试服务器的iptables,自己做了个定时关iptables,但晚上回家很少开电脑,所以就没法去启动iptables,当然你可能会说,为什么不取消定时关闭iptables,我只能说个人的环境不一样,需求也就不一样. 脚本内容: vi iptables-reset.sh 复制代码 代码如下: #!/bin/bash #Powered by blog.slogra.com port=`iptables -vL|grep ssh|awk '{split($NF,a,":");prin

Linux服务器硬件运行状态及故障邮件提醒的监控脚本分享_linux shell

监控硬件运行状况 shell 监控cpu,memory,load average,记录到log,当负载压力时,发电邮通知管理员. 原理: 1.获取cpu,memory,load average的数值 2.判断数值是否超过自定义的范围,例如(CPU>90%,Memory<10%,load average>2) 3.如数值超过范围,发送电邮通知管理员.发送有时间间隔,每小时只会发送一次. 4.将数值写入log. 5.设置crontab 每30秒运行一次. ServerMonitor.sh #

Shell脚本实现监视指定进程的运行状态_linux shell

在之前的博客中,曾经写了自动化测试程序的实现方法,现在开发者需要知道被测试的进程(在此指运行在LINUX上的主进程的)在异常退出之前的进程的运行状态,例如内存的使用率.CPU的使用率等. 现用shell脚本实现指定进程的运行状态.直接上代码. #!/bin/sh echo "`date`" echo "Start $0---------" echo "" #每十秒监视一下 sec=10 #取得指定进程名为mainAPP,内存的使用率,进程运行状态

shell监控脚本实例—监控mysql主从复制_linux shell

本节内容:监控mysql主从复制的shell脚本. 说明:监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试,需要的一些准备工作可以查看这篇文章 代码: 复制代码 代码如下: #监控mysql 主从复制cat chk_mysql_rep.sh #!/bin/bash # #script_name:chk_mysql_rep.sh #check mysql replication # #ssh root@xen "/usr/local/mysql/bin/mysql -uro

编写你的shell其实很简单_linux shell

引语:我本人以前并没有写过shell脚本,也许是因为懒,也许是没有被逼到要去写shell的地步.但是,前段时间,工作需求,要求重新跑几个月的脚本,这些脚本是每天定时进行跑的,而且每天是好几个脚本一起关联跑的.你也许会说,这太简单了,写个循环,然后,让他自己去跑就行了.是的,你可以很顺手的用你的编程语言去写循环,如PHP.但是,你知道,这样做其实是改变了代码结构了,鬼知道会导致什么结果呢? 并且,我并不保证里面所有代码的意思,我都懂!那么,问题来了,在不改变原代码的前提下,怎样去循环这几个月的时间

Shell编程之Shell变量学习总结_linux shell

一.变量操作 A.变量显示.打印语法:echo $varB.变量设置语法:var=value 变量的设置规则:1.变量两端不能直接接空格符2.变量名称只能是因为字母与数字,但开头不能使数字3.双引号内的特殊字符如$等,保持原本特性 复制代码 代码如下: [root@bogon ~]# var="lang is $LANG"[root@bogon ~]# echo %varroot@bogon ~]# echo $varlang is zh_CN.UTF-8 1. 单引号内的特殊字符则仅

常用Linux Shell进阶部分小结_linux shell

如何计算当前目录下的文件数和目录数    # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|wc -l ----- to count dir        如何只列子目录?    ls -F | grep /$ 或者  alias sub = "ls -F | grep /$"(linux)     ls -l | grep "^d" 或者

简介Linux中cp和mv搭配{,}在shell当中的用法_linux shell

经常会在博客或者论坛看到类似下面的命令 大括号扩展  Brace expansion  {     }  shell   作用 cp /etc/httpd/httpd.{,.bakup} 或者是 mv resume{z,}.doc 那么,在uinx / linux  shell命令中是什么意思?起什么作用呢? {  } 并没有什么实际的含义,但是却可以作为Brace expansion(大括号扩展或叫做花括号扩展)而经常用于产生各种组个.以下是翻译自 GNU/BASH  man page  的内

linux下执行shell命令方法简介_linux shell

linux下执行shell命令有两种方法  在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令  1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令,命令行直接执行给出结果.比如这样: 2.在当前shell中产生一个subshell,在subshell中执行shell命令 比如我们把shell写成shell脚本的方式来运行,这个时候会先启动一个subshell来代替当前的shel