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号,如下:

clip_p_w_picpath002

成功识别出手机型号后,就可以使用下列命令发短信了:

#echo "This is a SMS from Linux shell using my Nokia phone" | gnokii --sendsms 156xxxxxxxx

命令成功执行后最后的返回结果如下:

clip_p_w_picpath004