修改了Fetion0.3,使其用于nagios报警:
默认命令行需要提供至少4个参数(手机号,密码,to who,msg)
其实这个0.3版本的pyfetion支持保存加密后的密码到配置文件里面的,所以在使用前先登录一下,用save保存密码,下次完全不要输入了,没有必要把明文密码写道命令行里面。
修改如下,算是做个记录
497行左右,找到
if len(argv) == 3:
这一段,修改为
- if len(argv) == 2:
- target = None
- msg = argv[1]
- elif len(argv) == 3:
- target = argv[1].lower()
- msg = argv[2]
找到544行
if target and target.isdigit():
改为:
- #修改适应一个参数
- ret = False
- if target and target.isdigit():
- if len(target) == 11:
- ret = phone.send_sms(toUTF8(msg), 'tel:%s' % target)
- else:
- ret = phone.send_msg(toUTF8(msg), 'sip:%s@fetion.com.cn' % target)
- elif not target and len(msg) != 0:
- ret = phone.send_sms(toUTF8(msg))
- if ret:
- printl("消息发送成功")
- else:
- printl("消息发送失败")
- printl("飞信退出")
- return 1
用法变为:
fetion.py [towho] [msg]
[towho]为空发给自己。
还有CentOS自带的Python太老,运行不起来。
这版本依赖pyDes,如果使用Active Python,可以使用easy_install安装
- /opt/ActivePython-2.6/bin/easy_install pyDes
- sendsms.sh
Nagios飞信报警配置OK。
【编辑推荐】