python使用免费短信Twilio报警

post by rocdk890 / 2018-4-19 14:27 Thursday linux技术
    最近发现了个免费的短信服务Twilio,并且发送速度还很快,试用了一下感觉很不错,故推授给大家.
    Twilio是一个SMS网关服务,可以通过程序发送短信.虽然试用版每月发送短信数量有限制,但免费试用没有期限.
    Twilio不是唯一的SMS网关服务,也可以在线搜索free sms gateway、python sms api,甚至twilio alternatives,寻找替代服务.
    系统:centos 7(64位)
    软件环境:python 2.7

1.注册Twilio账号
这里我就不说怎么注册了,按照网页流程走就可以了,(实在不会的可以看这篇文章https://www.jishux.com/plus/view-740114-1.html),只是需要两个信息:你的账户ACCOUNT SID和AUTH TOKEN,在登录Twilio账户时,可以在Dashboard页面上找到这些信息.从python程序登录时,这些值将作为你的Twilio用户名和密码.

2.安装python twilio模块
pip install twilio

3.使用
cat test.py
from twilio.rest import Client
# put your own credentials here
account_sid = "ACdxxxxxxxxxxxxxxxxxxxx"
auth_token = "5eaxxxxxxxxxxxxxxxxx"
client = Client(account_sid, auth_token)
client.messages.create(
  to="+86136xxxxxxxx",  #自己的手机号码
  from_="+1831xxxxx", #在网站上申请的手机码,只能用这个号码发信息
  body="hello!this is test.")

执行:
python test.py

看自己手机是否有收到短信,如果没有收到请检查是否sid和token填写错误,或者也可以先在网页上进行短信发送测试.

4.对服务器上mysql进程进行监控并短信报警
cat sms.py    #先写个sms接口
#coding: utf-8
from twilio.rest import Client
def sms(t):
    account_sid = "ACdxxxxxxxxxxxxxxxxxxxx"
    auth_token = "5eaxxxxxxxxxxxxxxxxx"
    client = Client(account_sid, auth_token)
    message = client.messages.create(
        to="+86136xxxxxxxx",
        from_="+183xxxxxxxx",
        body=t.decode("utf-8"))
    print(message.sid)


cat monitor-mysql.py   #mysql进程监控
#!/usr/bin/env  python
import os
import socket
import time
from sms import sms
import logging
import time
process = "/data/mysql/mysql.pid"
os.system("ps -ef|grep mysql|grep -v grep>%s" % process)
if not(os.path.getsize(process)):
    sms("The mysql process is dead.")
else:
    print("running")


直接执行:
python monitor-mysql.py

好了,这样你对mysql进程进行了监控,并能在mysql挂了的时候进行短信报警.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-723.html

标签: mysql 免费 python 报警 短信 twilio sms free