一、shell监控网站是否可以访问
来源:互联网 发布:淘宝手机壳店 编辑:程序博客网 时间:2024/05/21 13:57
也不知道CSDN怎么搞shell代码块,反正各种都试了一遍,感觉没有一种让代码看起来舒服点的,这里就把文件上传上来。看不清楚的同学可以下载下来,用notepad++看。
里面的一些命令不懂得可以百度搜索一下。后续我会把用到的那些命令解释一下。
下载地址:http://download.csdn.net/detail/qq_34021712/9794638
#!/bin/bash#func:监控网站是否可以访问# author:wangsaichao # date:2017/03/23 #连接的mysql数据库MYSQL="mysql -h127.0.0.1 -P3306 -uroot -proot"#查询所有需要监控的网站,这里是查询数据库,这是查询所有状态为1的网站,number字段是ID,这条sql执行完就是查询需要监控点网站的ID,是一个Listsql="select number from fw.tomcat where activestatus='1'"#开始执行,这里因为要一直监控,所以开启无限循环while true do#向控制台输出一条信息,$(date +'%F %H:%M:%S')日期格式化echo "[info]开始监控服务...[$(date +'%F %H:%M:%S')]"#这里是执行sql语句,并把查询到List<Integer ID> 赋值给ref这个变量,注意要带上``号,数字1左边,Esc键下方,如果不带,会报错说 -e这个参数不知道ref=`$MYSQL -e "$sql"`#循环遍历查询到的list,shell脚本for循环 格式是:#for 要赋值变量 in 要遍历的List#do#这里写循环执行的内容#donefor list in $refdo #这里要判断一下,因为shell执行完sql 查询到的内容其实是 number 1 这样的,也就是说只有一条语句但是 shell会把数据库字段也给你放到list中,要筛选一下if [ $list = 'number' ]; then echo "$list"else #这里是根据遍历的id在此查询数据库,拿到要监控的网址,例如:https://www.baidu.com/weburl=`$MYSQL -e "select name from fw.tomcat where number=$list"`for url in $weburldo#这里跟上面类似,筛选掉字段名称if [[ "$url" != 'name' ]]; thenecho $url#curl命令是查看网站是否可以访问, -I参数是返回http响应头,awk截取文本第二列,再用awk截取第一行,不熟悉的同学可以百度学习一下ServiceCode=$(curl -s -m 10 --connect-timeout 10 -l $url -w %{http_code} -I|awk '{print $2}'|awk 'NR==1{print}') if [ $ServiceCode -eq 302 -o $ServiceCode -eq 200 ]; then echo "服务正常"$MYSQL -e "update fw.tomcat set runstatus=0 where number=$list"else echo "服务无法访问"$MYSQL -e "update fw.tomcat set runstatus=1 where number=$list"fifidonefidone sleep 60done
0 0
- 一、shell监控网站是否可以访问
- shell 监控网站是否异常的脚本
- 编写可以监控oracle监听器是否启动的shell脚本
- ajax异步判断网站是否可以访问到的解决方法
- C#利用HttpWebRequest 测试网站是否可以正常访问
- shell监控进程是否关闭 (
- 一起动手实现Windows服务程序(监控网站是否能访问)
- 一起动手实现Windows服务程序(监控网站是否能访问) .
- shell+curl监控网站页面(域名访问状态),并利用sedemail发送邮件
- php监控网站访问状态
- (转)SHELL脚本:检测一坨IP是否都能ping通(网卡监控)
- SHELL脚本:检测一坨IP是否都能ping通(网卡监控)
- 监控主从库是否同步, shell,crontab
- shell脚本监控登录用户是否异常
- shell监控mysql服务是否正常启动
- 如何监控服务器端口号是否能够访问
- C# 通过程序监控网站是否正常
- 网站基本访问情况监控,全面了解网站访问情况~
- metlab3
- Spring学习笔记——入门
- C/C++经典程序训练2---斐波那契数列
- Activity
- JDBC学习笔记
- 一、shell监控网站是否可以访问
- nginx mysql 在并发的一个错误原因探究
- 正则表达式学习笔记(一)基本用法
- ZSTU4272-最佳淘汰算法
- 实验室智能管理系统(3)——zigbee部分
- django Access denied for user 'Administrator'@'localhost'
- 生成全排列(经典题 && 洛谷 P1706 )
- 1021. 个位数统计 (15)-PAT乙级
- 修改包名最便捷做法