Ниже правильный скрипт отправки.
Не буду описывать процесс установки gammu на сервер и настройки оповещений в заббиксе. Об этом много уже написано в этих ваших интернетах. Приведу лишь лист скрипта который:
1. В случае наличия русских букв в сообщении отправляет его в юникоде и обрезает длину сообщения до 70 символов.
2. Иначе обрезает сообщение до 170 символов.
В случае если сообщение не обрезать и оно длиннее допустимой длины, USB свисток, в большинстве случаев, зависает.
#!/bin/bash
LOGFILE="/var/log/zabbix/zabbix-sms.log"
MOBILE_NUMBER=`echo "$1" | sed s#\s##`
CHECKUNI=`echo "$3" | grep -Eo "[А-Яа-яЁё]*" | wc -l`
if [ $CHECKUNI -eq 0 ];
then
echo >>${LOGFILE}
echo "echo ${3:0:159} | /usr/bin/sudo /usr/bin/gammu --sendsms TEXT ${MOBILE_NUMBER}" >>${LOGFILE}
echo "${3:0:159} " | /usr/bin/sudo /usr/bin/gammu --sendsms TEXT "${MOBILE_NUMBER}" 1>>${LOGFILE} 2>&1
else
echo >>${LOGFILE}
echo "echo ${3:0:69} | /usr/bin/sudo /usr/bin/gammu --sendsms TEXT ${MOBILE_NUMBER} -unicode" >>${LOGFILE}
echo "${3:0:69}" | /usr/bin/sudo /usr/bin/gammu --sendsms TEXT "${MOBILE_NUMBER}" -unicode 1>>${LOGFILE} 2>&1
fi
Комментариев нет:
Отправить комментарий