最近公司需要做一个检查http服务是否可用的脚本,如果检测到不可用,则通知到相关人员
一开始,我去看了是否有什么软件可以实现这个功能!找了一圈也没有找到!
后来发现zabbix有web检测功能,我们自己也有一套zabbix系统,但是这是两个环境,公司不允许把其他项目的东西放到另一个项目来做,后来就想到了自己写shell脚本实现!
思路:因为我们的环境是运行在Linux机器上,所以我们查看url是否正常,只需要提取出网站的code即可!废话少说!开始操作!
1.首先定义一个url列表池 url.list
#把需要检查的url写入到下面的列表池中
# cat url.list
https://*/
https://*/
https://*/
https://*/
https://*/
http://*/
注意:列表中不允许使用注释符’#‘等之类的符号!只能定义url!
2.写checkurl列表池的检查脚本
#!/bin/bash
date=`date`
data=`cat /root/tst/url.list`
rm -rf /root/tst/result.log
echo $date >>/root/tst/result.log
for url in $data
do
code=`curl -o /dev/null --retry 3 --retry-max-time 30 -s -w %{http_code} $url`
echo "HTTP Status of $url is $code "