之前购买了一台woothosting家3.99美元一年的vps,由于低价带来的超售问题,这个vps会经常宕机。为了知道vps的在线情况,利用python3并配合server酱,写了一个简单的监测程序:一台稳定的vps作为呼叫端,woothosting家的vps最为被呼端,呼叫端会定时ping被呼端,并且呼叫段会对反馈回来的数据进行判断,如果发现ping失败或者超时,就会通过server酱把这个消息推送到手机微信里。
具体的程序附在下面,SCKEY请自行前往server酱免费获取,xx.xx.xx.xx为被呼端的ip地址。需要配合crontab实现定时任务,推荐每15分钟执行一次。
源码已上传至GitHub,点击这里查看

#!/usr/bin/python
# -*- coding: utf-8 -*-

import os
import requests
from datetime import datetime
timeout = 10
time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
key = 'SCKEY'
title = "VPS在线检测"
hostname = "xx.xx.xx.xx"
response = os.system("ping -c 1 "+ hostname)
if response != 0:
    content = "VPS已无法连接" + "\n" + time
    payload = {
        'text': title,
        'desp': content
    }
    url = 'https://sc.ftqq.com/{}.send'.format(key)
    requests.post(url, params=payload, timeout=timeout)
else:
    content = "VPS正常连接" + "\n" + time

标签: 教程, linux

已有 2 条评论

  1. caeded caeded

    使用itchat也能解决问题

    1. 是的,方法有很多种。我比较懒,随便找了一个方法。

添加新评论