Shell脚本监控网站页面正常打开情况


现在单位为了省钱,我用了shell脚本,简单的写了一个监控。通过curl一个固定页面的200状态码,如果是200,就说网站是正常的,如果不是200就自动重启网站,然后发邮件到QQ邮箱。自己在上QQ的同时,通过微信也可以收到报警,不但可以收到报警,还可以解决问题。基本上也可以解决web的故障。

#! /bin/bash

source /etc/profile

A="web is Good !"

ip=`ifconfig eth0 | grep "inet addr" | awk -F "[: ]+" '{print $4}'`

tt1=`curl -I -s http://xx.8x.18x.xx:1657/product/pro_detail_-rg000785.shtml | head -1 | cut -d " " -f2`

Process=`ps -ef | grep java | egrep  "tomcat1" | awk -F " " '{print $2}'`

if [ $tt1 = "200" ]

  then

  echo "$A" >>/home/taoyake/scripts/website-error.`date +%F`.log

else

  /opt/tomcat1/bin/shutdown.sh

  cd /opt/tomcat1/work/Catalina/

  rm -rf localhost

  kill -9 $Process

  /opt/tomcat1/bin/startup.sh

  echo "1657 is reload." >>/home/taoyake/scripts/website-error.`date +%F`.log

  echo "1657 is reload." | mail -s "website-1657" "505065674@qq.com"

fi

more /home/taoyake/scripts/reload_website-1658.sh 

#! /bin/bash

source /etc/profile

B="1658 is Good !"

ip=`ifconfig eth0 | grep "inet addr" | awk -F "[: ]+" '{print $4}'`

tt1=`curl -I -s http://xx.xx.183.xx:1658/product/pro_detail_-rg000785.shtml | head -1 | cut -d " " -f2`

Process=`ps -ef | grep java | egrep  "tomcat2" | awk -F " " '{print $2}'`

if [ $tt1 = "200" ]

  then

  echo "$B" >>/home/taoyake/scripts/website-1658-access.`date +%F`.log

else

  /opt/tomcat2/bin/shutdown.sh

  cd /opt/tomcat2/work/Catalina/

  rm -rf localhost

  kill -9 $Process

  /opt/tomcat2/bin/startup.sh

  echo "1658 is reload." >>/home/taoyake/scripts/website-1658-error.`date +%F`.log

  echo "1658 is reload." | mail -s "website-1658" "505065674@qq.com"

fi

[root@web ~]# crontab -l

*/10 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1

*/5 * * * * /bin/sh /home/taoyake/scripts/reload_website.sh >/dev/null 2>&1

*/5 * * * * /bin/sh /home/taoyake/scripts/reload_website-1658.sh >/dev/null 2>&1

查看图片

Shell脚本判断Apache进程是否存在
写一个脚本检查Apache进程是否存在,若不存在则显示不存在,若存在则显示进程个数,当不等于10个时用红色字体通知管理员,并询问管理员是否启动Apa

Shell中取今天、昨天、前天的时间操作代码
1.取今天时间$date-d"now"+%Y-%m-%d2.取昨天时间$date-d"yesterday"+%Y-%m-%d$date-d"1daysago"+%Y-%m-%d##-d,--date=STRINGdisplaytimedescribedbySTRING,not`now'STRING可以为‘now'、‘yesterday

Shell脚本实现检查服务器安全状态(用户、登录IP、防火墙检查)
说明:大家平时对Linux服务器安全主要是对系统用户的检查,登陆服务器IP检查,以及防火墙状态检查!1.需要把正确系统用户名存储在/root/liu_shell/local_use