1. 首页
  2. 开发

linux下curl来监控你的网站应用

在腊月二十九这么个日子里,大家都回家去了,于是cnode社区挂掉没人管咯。

我想了想,是不是应该有个应急措施。

于是想到linux下的curl 可以用来访问网页,那应该可以获取状态码。

几番折腾有了以下shell脚本:

#! /bin/bash

#########################   config   ############################
#   timeout setting, second 
timeout=10
      
#   target site 
target=https://cnodejs.org 

#   log file path
log_path=/root/monitor/

#   log file name
log_file=status.log

#########################   scan      ###########################

#   check dir if is exists
if [ ! -d $log_path ]; then
    mkdir $log_path
fi
cd $log_path

#   check file if is exists
if [ ! -f $log_file ]; then
   touch $log_file
fi
  
#   response status code 
    Ret_Code=`curl -I -s -o /dev/null --connect-timeout $timeout $target -w %{http_code} | tail -n1` 
if [ "$Ret_Code" = "200" ]; then
    echo "[`date '+%Y-%m-%d %H:%M:%S'`] - $Ret_Code - visit $target status code 200 OK" >>$log_file
else
    echo "[`date '+%Y-%m-%d %H:%M:%S'`] - $Ret_Code - visit $target error!!! server can't connect at $timeout s or stop response at $timeout s" >>$log_file
    echo "you can mail to admin or run some script to restart server here"
fi
exit 0

至于出错之后的操作就仁者见仁智者见智啦,这里只给出这么多了。

收藏

暂无评论

登录后可以进行评论。没有账号?马上注册