Начало
Centos EMail to SMS мегафон модем E1550
[root@mng ~]# cat /etc/smsd.conf devices = GSM1 incoming=/var/spool/sms/incoming outgoing=/var/spool/sms/outgoing checked=/var/spool/sms/checked sent=/var/spool/sms/sent logfile = /var/log/smsd/smsd.log loglevel = 7 #debug = 7 smart_logging = yes [GSM1] device = /dev/ttyUSB1 baudrate = 115200 rtscts = no init = at+cpms="sm","sm","" incoming = yes incoming = high eventhandler = /usr/local/sbin/smshandler eventhandler_ussd = /usr/local/sbin/smshandler [root@mng ~]#
[root@mng ~]# touch /usr/local/sbin/smshandler
[root@mng ~]# chmod 755 /usr/local/sbin/smshandler
[root@mng ~]# /etc/init.d/sms3 restart
Starting SMS Daemon: smsd.
[root@mng ~]# echo "Проверка" | sendsms +7965XXXXXXX
[root@mng ~]# cat /usr/local/sbin/smshandler
#!/bin/bash
# Зададим глобальные переменные.
ADMINPHONE="7965XXXXXXX"
ADMINMAIL="admin@iamroot.ru"
# Обработаем только входящие звонки и SMS-сообщения.
# Разделим данные на заголовок и тело сообщения.
if [[ "$1" =~ (CALL|RECEIVED) ]]; then
MESSAGE=$(cat "$2")
FROM=$(echo "${MESSAGE}"|grep -e '^From\:'|cut -d' ' -f2)
DATE=$(echo "${MESSAGE}"|grep -e '^Received\:'|cut -d' ' -f2,3)
BODY=$(echo "${MESSAGE}"|sed -e '1,/^$/d')
fi
case "$1" in
# События при входящем звонке.
CALL)
# Проверка номера входящего звонка.
if [ "${FROM}" == "${ADMINPHONE}" ]; then
# Действие при звонке
cat 111 >> /var/log/smsd/zvonki.log
fi
;;
# События при получении ответа на USSD-запрос.
USSD)
;;
# События при поступлении SMS-сообщения.
RECEIVED)
# Проверка номера и тела входящего SMS-сообщения.
# Если номер совпадает с содержанием переменной ADMINPHONE и тело
# SMS-сообщения совпадает со словом "REBOOT", то выполняется перезагрузка.
if [[ "${FROM}" == "${ADMINPHONE}" && "$BODY" == "REBOOT" ]]; then
# Не забудьте задать следующую строку в файле /etc/sudoers
#
# sms ALL= NOPASSWD: /sbin/reboot
#
sudo /sbin/reboot
exit
fi
# Перенаправление остальных SMS-сообщений на почтовый ящик.
echo -e "From: ${FROM}\nDate: ${DATE}\n\n${BODY}" | \
/usr/bin/mail -s "SMS Received" ${ADMINMAIL} >/dev/null
;;
# События при отправке SMS-сообщения.
SENT)
;;
# Прочие события, не определенные выше.
*)
echo "$*" >>/var/log/smsd/others.log
;;
esac
[root@mng ~]#
С изменениями и дополнениями взято http://mrcat.ru/sms-send-receive