用一个很小的脚本看网站是不是还活着

举报
yd_230986563 发表于 2026/11/01 16:39:27 2026/11/01
【摘要】 前一阵子我自己的一个小页面出过一次问题,页面其实已经打不开了,我却过了很久才知道。那次之后我就想,能不能有个很简单的方法,隔一阵子就去看一眼,页面还在不在。办法并不复杂,就是用 curl 去请求一下首页,然后看返回的状态码。200 当然就是正常的,要是返回 404 或者 500,那多半就是哪里出问题了。光看状态码其实还不够,因为有时候服务器返回 200,页面内容却已经是报错页了,所以我后来又...

前一阵子我自己的一个小页面出过一次问题,页面其实已经打不开了,我却过了很久才知道。那次之后我就想,能不能有个很简单的方法,隔一阵子就去看一眼,页面还在不在。


办法并不复杂,就是用 curl 去请求一下首页,然后看返回的状态码。200 当然就是正常的,要是返回 404 或者 500,那多半就是哪里出问题了。光看状态码其实还不够,因为有时候服务器返回 200,页面内容却已经是报错页了,所以我后来又加了一个很粗糙的判断,就是看返回的内容里有没有我预期的一个关键词,没有的话也算异常。


这个脚本我放在定时任务里,每隔十分钟跑一次。跑完之后把结果写进一个很小的日志文件,正常的时候只记一行,异常的时候就多记一点,包括时间和状态码。这样一来,之后去查问题的时候,至少能知道它大概是从什么时候开始不正常的,而不是只能凭感觉猜。


不过这个办法也有它的边界。它只能告诉我页面能不能打开,并不能说明页面打开得快不快,也看不出来数据库那边是不是已经慢了。还有就是,如果检查得太频繁,对服务器本身也是一种负担,所以间隔不能设得太短。十分钟这个间隔,是我自己试下来觉得还算平衡的一个选择,不算很及时,但至少不会等到别人来告诉我才知道。


后来我又想到,检查脚本本身也可能出问题。比如服务器换了域名,或者证书过期了,curl 的表现就会和以前不太一样。所以脚本里对这些情况也要有点容错,不然它自己先报错了,反而会把真正的问题盖住。这一点我一开始没有想到,是后来调试的时候才慢慢补上的。


总的来看,这只是一个很小的工具,解决的也只是一个很小的问题。但对我这样一个人维护小项目的情况来说,有它在,心里会踏实不少,至少不用一直担心页面什么时候悄悄挂掉。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。