监控服务器swap并重启php的Shell脚本

折中一下,写个脚本监控swap吧,放在crontab里面,2小时执行一次,世界安静了,再也没有烦人的报警短信了


代码如下:

#!/bin/bash
function usage
{
        echo "Usage: $0"
        echo "e.g. $0 1500"
        exit
}
if [ $# -lt 1 ];then
        usage
fi
typeset -i nowSwap limitSwap
limitSwap=$1
nowSwap=$(free -m|grep "Swap"|sed -e "s/\(.*\)\:\(.*\)/\2/g"|awk '{print $2}')
if [ $limitSwap -lt $nowSwap ];then
        while [ 1 ]
        do
                if /etc/init.d/php5-fpm restart|grep -c fail
                then echo "[$(date +%Y/%m/%d0-%H:%M)]restart php failed"
                else
                        echo "[$(date +%Y/%m/%d-%H:%M)]restart php successful!"
                        break
                fi
        done
fi

注:if /etc/init.d/php5-fpm restart|grep -c fail 这一句中间的命令换成你自己的即可

(0)

相关推荐

  • shell脚本连接并重启远程服务器的方法

    shell重启远程服务器 #connServer.sh 登陆服务器脚本 本地文件 #!/usr/bin/expect expect -c " spawn ssh ali@192.168.1.1 expect { \"*assword\" {set timeout 30; send \"123456\r\";} \"yes/no\" {send \"yes\r\"; exp_continue;} } send \&qu

  • 智能监测自动重启Apache服务器的Shell脚本

    由于需要监控某些要求高可用性的Apache服务器,除了专业的监控报警设备,低成本下在Apache服务器上写一个自动监测Apache状态的脚本是个不错的主意.在网上搜索了许多类似的脚本,但由于局限性较大,也都存在一些不完善的地方,所以自己写了一个. 脚本功能与特点 1.能够每隔一段时间监测Apache服务器的可用性(由于本脚本直接模拟了客户端的访问,因此这里的"可用性"是指切切实实的正常可访问) 2.在出现无法访问的情况下,能够自动重启Apache服务(强行重启) 3.在重启后仍然无法正

  • 使用xp_cmdshell注销Windows登录用户(终端服务器超出最大连接数)

    公司日常项目更新使用TFP,服务器一般维护用远程桌面管理,所以经常登录到服务器, 但有时由于某种原因,登录到服务器后,帐号没有及时注销,致使后面无法登录到服务器, 显示错误如 出现这样的问题还真麻烦,跑机房光手续都要两三天才能搞好.还好公司一直保留有Sa帐号, 这就好办了,用SQL注销一个Windows登录用户即可. 首先打开xp_cmdshell--执行XP_CMDSHELL要开启xp_cmdshellEXEC sp_configure 'show advanced options', 1RE

  • java通过ssh连接服务器执行shell命令详解及实例

    java通过ssh连接服务器执行shell命令详解 java通过ssh连接服务器执行shell命令:JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等.你可以将它的功能集成到你自己的 程序中.同时该项目也提供一个J2ME版本用来在手机上直连SSHD服务器. SSH是Secure Shell的缩写,一种建立在应用层和传输层基础上的安全协议.SSH在连接和传送过程中会加密所有数据,可以用来在不同系统或者服务器之间进行安全连接.SSH提

  • powershell远程管理服务器磁盘空间的实现代码

    一.启用远程管理 1.将管理服务器的trusthost列表改为* 运行Set-item wsman:localhost\client\trustedhosts –value * 2.在远程服务器上运行Enable-PSremoting 注: 在本地服务器上以Administrator运行"Enable-Psremoting . Winrm Quickconfig .  Set-WSManQuickConfig",均提示"访问被拒绝",可能的原因如下: 1.在工作组计

  • 监控服务器swap并重启php的Shell脚本

    折中一下,写个脚本监控swap吧,放在crontab里面,2小时执行一次,世界安静了,再也没有烦人的报警短信了 复制代码 代码如下: #!/bin/bash function usage {         echo "Usage: $0"         echo "e.g. $0 1500"         exit } if [ $# -lt 1 ];then         usage fi typeset -i nowSwap limitSwap limi

  • 自动重启服务的shell脚本代码

    复制代码 代码如下: #!/bin/bash if [ ! -f /tmp/down_count ];then echo "0" > /tmp/down_count fi curl -I tomcat-host -o "/tmp/status" >/dev/null 2>&1 code=`awk 'NR==1 {print $2}' /tmp/status` if [ "$[code]" -ge 500 ];then d

  • 监控php-fpm并自动重启服务的shell脚本

    脚本代码: 复制代码 代码如下: #!/bin/bash #变量初始化process="php-fpm" #进程名startCmd="/etc/init.d/php-fpm start" #启动命令down=0 while truedo    #取得http状态码    code=$(curl -H "Host:www.jb51.net" -m 5 -L -s -w %{http_code} http://127.0.0.1 -o /dev/nu

  • 一个监控Squid运行进程数并自动重启的简洁Shell脚本分享

    复制代码 代码如下: #!/bin/sh while sleep 30 do SquidNum=`ps -ef|grep squid|grep -v grep|wc -l` #HttpNum=`netstat -an|grep 0.0.0.0:80|grep -v grep|wc -l` #80状态 if [ $SquidNum != 3 ] ; then /etc/rc3.duid start adddate=`date +%Y-%m-%d`" "`date +%H:%M:%S` e

  • shell脚本作为保证PHP脚本不挂掉的守护进程实例分享

    前几天开始跑一份数据名单,名单需要提供用户名.是否有手机号.是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号.是否有邮箱必须得通过一个对外开放的安全接口一个一个用户去请求,然后分析返回值才能知道.下面是我处理的方案:1.将2000w名单保存到临时数据表2.用PHP程序每次从该表获取500个用户,检测完后生成SQL update原纪录3.为了防止PHP程序突然断掉,用shell脚本每隔1分钟检测,PHP挂掉了则重启我使用shell脚本作为守护进程的原

  • nginx常用命令放入shell脚本详解

    1.创建一个文件夹存放nginx的shell脚本 /usr/local/task/nginx 1)重启nginx的shell脚本 vim reload.sh #!/bin/bash nginx -s reload 2)设置nginx用户对html目录下所有文件读写执行权限的shell脚本 vim setfacl.sh #!/bin/bash setfacl -m u:nginx:rwx -R /usr/local/nginx/html/ setfacl -m d:u:nginx:rwx -R /

  • 详解程序意外中断自动重启shell脚本(以Python为例)

    我们经常需要在后台运行一些python脚本,来监控系统或者做一些其他事情:但是 由于各种各样的原因,排除python脚本代码的问题,脚本运行过程中会挂掉.为了不天天耗在上面等重启,可以制作shell脚本对程序予以监控,对于意外中断的程序自动重启. 以控制 python自动重启的shell脚本为例: cd Desktop vim run.sh #新建名为run的shell脚本 写入(此处以名为run的Python脚本为例) #!/bin/bash while [ 1 ];do python run

  • Jar包一键重启的Shell脚本及新服务器部署的一些经验分享

    前言 最近公司为客户重新部署了一套新环境,由我来完成了基础环境的配置,配置过程中总结了一些经验,分享给各位园友 使用 curl 命令检查网络 拿到新服务器后,首先检查服务器网络是否通畅.我们常用的 ping 命令使用的是 ICMP 协议,大部分服务器都设置了域名出入站规则,即使某些地址可以 ping 通,也存在服务器无法访问的情况.这时可以使用 curl host:port 命令来测试该服务器能否正常发送 http 请求到外部服务器 安装 JDK 新服务器一般没有 JDK ,可以使用 java

  • 编写shell脚本实现tomcat定时重启的方法

    最近我在学生价买的低配服务器上部署了一个很吃内存的网页,导致 tomcat 内存经常溢出而崩溃. 于是我上网找了一些教程编写了一个简单的每天定时启动 tomcat 的脚本,特此记录一下 我的环境是 centos 7 1. 在某个目录新建一个 .sh 脚本文件 vim tomcatStart.sh 2. 在 tomcatStart.sh 文件里面写入一下代码 #!/bin/bash /etc/profile tomcatPath="/usr/local/tomcat9" binPath=

随机推荐