作为一个正在学习编程的学生,我最近刚刚在 RackNerd 的 VPS 上搭建了自己的 WordPress 博客。虽然网站跑起来了,但我总担心它会不会突然挂掉(比如 Docker 崩溃或者 Nginx 报错)。
市面上的服务器监控服务(如 UptimeRobot)虽然好用,但很多高级功能都要收费。我想:既然我有 VPS,为什么不利用 Python 自己写一个简单的监控脚本呢?
今天这就教大家如何用不到 10 行 Python 代码,配合 Linux 的 Crontab 定时任务,给你的博客做一个“24小时免费体检医生”。
解决方案如下:
Step 1: 安装依赖
首先,我们需要在 Debian/Ubuntu 系统中安装 Python 的请求库 requests。为了避免 pip 报错,推荐直接用 apt 安装:
apt update && apt install python3-requests -y
Step 2: 编写监控脚本
我们在
/root目录下创建一个名为monitor.py的文件。这个脚本的逻辑很简单:尝试访问博客主页,如果返回状态码200,就记录“正常”;否则记录“异常”。
import requests
import datetime
# 你的博客地址
url = "https://usnstygvo.info"
# 日志文件保存路径
log_file = "/root/website_status.log"
def check_website():
timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
try:
# 发送请求,超时时间设为 10 秒
response = requests.get(url, timeout=10)
if response.status_code == 200:
status = "✅ 正常 (200)"
else:
status = f"❌ 异常 ({response.status_code})"
except Exception as e:
status = f"💥 无法连接 ({str(e)})"
# 写入日志
log_entry = f"[{timestamp}] {status}\n"
with open(log_file, "a") as f:
f.write(log_entry)
print(log_entry.strip())
if __name__ == "__main__":
check_website()

Step 3: 验证运行 (关键截图)
写好后,我们先手动运行一次,看看效果:
python3 monitor.py
运行结果如下:

Step 4: 设置自动化 (Crontab)
脚本没问题了,最后一步是让它每 30 分钟自动跑一次。我们要编辑 Crontab 配置:
crontab -e
在文件末尾添加这一行:
*/30 * * * * /usr/bin/python3 /root/monitor.py

这样,系统就会在后台默默守护你的网站了。
发表回复