修改了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。
(责任编辑:IT) |