Shell Script zum SMS versenden

Viele SMS Gateway Anbieter bieten eine HTTP basierte Schnittstelle zum versenden von SMS Nachrichten. Mit den Beispiel Shell Skripten lassen sich diese Schnittstellen auch von der Kommandozeile aus nutzen. Die Skripte lassen sich auch erweitern und können so auch für den Versand von Nagios Meldungen genutzt werden.

sms77.de

Beispiel Script für den SMS Anbieter sms77.de.

#!/bin/bash
# fk [email protected] 2007
##########
# Gateway Syntax
# lynx "http://gateway.sms77.de/?" \
#  "u=&" \
#  "p=&" \
#  "to=&" \
#  "text=&" \
#  "type=basicplus&" \
#  "debug=1" \
#  -dump   2>/dev/null |grep [0-9]\\+
#
# types basicplus, standard, quality, festnetz, flash
##########
 
function usage(){
        echo "usage: $0 -r
 -m \"\""
        echo "       [-u ] [-p
] [-s ]"
        echo "       [-t "
        exit 1
}
 
#if [ $# -lt 2 ]; then
#       usage
#fi
 
# set defaults
GATEWAYURL="http://gateway.sms77.de/"
USER="u="
PASS="p="
TYPE="type=basicplus"
SENDER="from="
 
LYNX=/usr/bin/lynx
 
while getopts "t:r:m:s:f:u:p:" OPTION; do
        case $OPTION in
                t)
                        TYPE="type=$OPTARG"
                ;;
                r)
                        RECIPIENT="to=$OPTARG"
                ;;
                m)
                        MESSAGE="text=$OPTARG"
                ;;
                s)
                        SENDER="from=$OPTARG"
                ;;
                u)
                        USER="u=$OPTARG"
                ;;
                p)
                        PASS="p=$OPTARG"
                ;;
                *)
                        usage
                ;;
 
        esac
done
 
if [ "$TYPE" = "type=balance" ]; then
        $LYNX "$GATEWAYURL/balance.php?$USER&$PASS" \
              -dump 2>/dev/null|grep [0-9]\\+
else
        # check values
        if [ "$RECIPIENT" = "" ]; then
                usage
        fi
        if [ "$MESSAGE" = "" ]; then
                usage
        fi
 
        $LYNX "$GATEWAYURL?$USER&$PASS&$RECIPIENT&$TYPE&$MESSAGE&$SENDER" \
              -dump   2>/dev/null|grep [0-9]\\+
        #|awk '{ print $1 }'`
fi

smskaufen.com

Beispiel Script für den SMS Anbieter smskaufen.com.

#!/bin/bash
# fk [email protected] 19.11.2007
##########
 
function usage(){
        echo "usage: $0 -r
 -m \"\""
        echo "       [-u ] [-p
] [-s ]"
        echo "       [-t "
        exit 1
}
 
if [ $# -lt 2 ]; then
        usage
fi
 
# set defaults
GATEWAYURL="http://www.smskaufen.com/sms/gateway/sms.php"
USER="id="
PASS="pw="
TYPE="type=4"
SENDER="absender="
 
LYNX=/usr/bin/lynx
 
while getopts "t:r:m:s:f:u:p:" OPTION; do
        case $OPTION in
                t)
                        TYPE="type=$OPTARG"
                ;;
                r)
                        RECIPIENT="empfaenger=$OPTARG"
                ;;
                m)
                        # need to urlencode message text
                        MESSAGE="text=`echo \"$OPTARG /*$$[]\"|od -t x1 -A n|tr \" \" %`"
                ;;
                s)
                        SENDER="absender=$OPTARG"
                ;;
                u)
                        USER="id=$OPTARG"
                ;;
                p)
                        PASS="pw=$OPTARG"
                ;;
                *)
                        usage
                ;;
 
        esac
done
 
# check values
if [ "$RECIPIENT" = "" ]; then
        usage
fi
if [ "$MESSAGE" = "" ]; then
        usage
fi
 
$LYNX "$GATEWAYURL?$USER&$PASS&$RECIPIENT&$TYPE&$MESSAGE&$SENDER" \
      -dump   2>/dev/null|grep [0-9]\\+
      #|awk '{ print $1 }'`

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.