Linux下的飞信机器人好像不那么好用,监控服务器的报警无法及时通过短信的方式发送,于是就在想是否有其他方式可以替代。其实之前也考虑过这个问题,因为飞信是通过互联网去发短信的,但有时候公司的互联网会中断,这个时候也无法收到报警短信。由于现在的手机都是带有Modem的,如果能够在Linux环境下用手机发送邮件的话就最方便了,一来发送短信的速度比飞信机器人快,二来不受互联网的影响,公司断网后可以快速收到报警短信。
经过Google搜索了一下,发现一篇文章写的跟我的需求非常吻合,地址:http://www.wardking.com/2008/11/e680i-send-sms-from-linux-shell/ ,他的方法是用gnokii来发短信的,gnokii的官方网站http://www.gnokii.org
源码包安装方法如下:
先安装依赖软件包:
#yum install intltool glib2-devel glib2-static mysql-devel
下载软件包
#wget http://www.gnokii.org/download/gnokii/gnokii-0.6.31.tar.gz
解压,编译并安装
#tar zxvf gnokii-0.6.31.tar.gz
#cd gnokii-0.6.31
#./configure
#gmake && gmake install
#cp Docs/sample/gnokiirc /etc/gnokiirc
Gnokii也提供RPM包,地址:http://www.gnokii.org/download/gnokii/0.6.x/rpm/
安装完成后,修改配置文件/etc/gnokiirc,将其中的port和model改为如下值:
Port = /dev/ttyACM0 #Nokia E72i手机以PC套件的方式通过USB连接到电脑后识别出的Modem的设备名
Model = AT
在正式发短信之前,先查看一下设备有没有被正确识别,命令 gnokii --identify,命令会输出很多内容,在尾部会发现识别出的手机型号和IMEI号,如下:
成功识别出手机型号后,就可以使用下列命令发短信了:
#echo "This is a SMS from Linux shell using my Nokia phone" | gnokii --sendsms 156xxxxxxxx
命令成功执行后最后的返回结果如下: