SMS alerts My how-to

Dan Stromberg strombrg at dcs.nac.uci.edu
Mon Oct 25 21:21:15 CEST 2004


Actually, I believe there is a globbing parameter you can set in bash,
that controls whether "foo*", upon matching nothing, will return "foo*"
or "".

On Mon, 2004-10-25 at 03:22, Andreas Ericsson wrote:
> Kyriacos Sakkas wrote:
> > Thanks to all  for replies in how to make  my script better,  it now
> > incorporates  nearly all of the suggested improvments, plus some
> > others of my own.
> > 
> > I include the new current version below, together with an extra script
> > used, found in debians bash-doc package. If you wish to discuss it
> > further, please send To: me and cc to the list if you wish, otherwise
> > I might not spot your message.
> > 
> > Thanks to all,
> > 
> > Kyriacos Sakkas.
> > 
> > Scripts:
> > smsspool.sh==================================================
> > #!/bin/bash
> > #simple sms spooling system, implemented for nagios
> > #People who added code to this:
> > #sakkas at unimedcy.com  dennis at intouch.net  andreas.ericsson at op5.se
> > #
> > PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/scripts 
> > 
> > 
> > for i in `ls /var/spool/sms/sms*`
> > do
> 
> This first if conditional is toothless, as $i will never be empty.
> If there aren't any files in /var/spool/sms/sms* then $i will contain 
> the string /var/spool/sms/sms*. Save yourself the indentation level and 
> remove it.
> 
> > if [ "$i" != "" ]; then
> >                # fixed. Protects from symlink attacks.
> >                test -f "$i" || continue
> >                # get one line only
> >                num=`head -n 1 "$i" | cut -d @ -f 2`
> >                msg=`head -n 2 "$i" | cut -d @ -f 1`
> >                /usr/local/scripts/timeout.sh -15 40 :2 +2 --
> > /usr/bin/gsmsendsms -b 9600 -d /dev/mobilephone $nu
> > m "$msg" || exit 1
> >                logger "SMS Message Send to: -$num-"
> >                # don't remove anything but exactly this file
> >                # (double quotes is a meager safeguard, but better
> > than nothing).
> >                rm -f "$i"
> >        fi
> > done
> > exit 0
> > ===========================================================
> > timeout.sh====================================================
> > #Newsgroups: comp.unix.admin,comp.unix.solaris,comp.unix.shell
> > #From: gwc at root.co.uk (Geoff Clare)
> > #Subject: Re: timeout -t <sec> <unix command> (Re: How to give rsh a
> > shorter timeout?)
> > #Message-ID: <EoBxrs.223 at root.co.uk>
> > #Date: Fri, 13 Feb 1998 18:23:52 GMT
> > 
> > #
> > # Conversion to bash v2 syntax done by Chet Ramey <chet at po.cwru.edu
> > # UNTESTED
> > #
> > 
> > prog=${0##*/}
> > usage="usage: $prog [-signal] [timeout] [:interval] [+delay] [--]
> > <command>"
> > 
> > SIG=-TERM       # default signal sent to the process when the timer
> > expires
> > timeout=60      # default timeout
> > interval=15     # default interval between checks if the process is
> > still alive
> > delay=2         # default delay between posting the given signal and
> >                # destroying the process (kill -KILL)
> > 
> > while :
> > do
> >        case $1 in
> >        --)     shift; break ;;
> >        -*)     SIG=$1 ;;
> >        [0-9]*) timeout=$1 ;;
> >        :*)     EXPR='..\(.*\)' ; interval=`expr x"$1" : "$EXPR"` ;;
> >        +*)     EXPR='..\(.*\)' ; delay=`expr x"$1" : "$EXPR"` ;;
> >        *)      break ;;
> >        esac
> >        shift
> > done
> > 
> > case $# in
> > 0)      echo "$prog: $usage" >&2 ; exit 2 ;;
> > esac
> > 
> > (
> >        for t in $timeout $delay
> >        do
> >                while (( $t > $interval ))
> >                do
> >                        sleep $interval
> >                        kill -0 $$ || exit
> >                        t=$(( $t - $interval ))
> >                done
> >                sleep $t
> >                kill $SIG $$ && kill -0 $$ || exit
> >                SIG=-KILL
> >        done
> > ) 2> /dev/null &
> > 
> > exec "$@"
> > ======================================================
> > 
> > 
> > 
> > 
> > -------------------------------------------------------
> > This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
> > Use IT products in your business? Tell us what you think of them. Give us
> > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
> > http://productguide.itmanagersjournal.com/guidepromo.tmpl
> > _______________________________________________
> > Nagios-users mailing list
> > Nagios-users at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/nagios-users
> > ::: Please include Nagios version, plugin version (-v) and OS when 
> > reporting any issue. ::: Messages without supporting info will risk 
> > being sent to /dev/null
> > 
-- 
Dan Stromberg DCS/NACS/UCI <strombrg at dcs.nac.uci.edu>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <https://www.monitoring-lists.org/archive/users/attachments/20041025/4b453aaa/attachment.sig>


More information about the Users mailing list