Xymon Mailing List Archive search

Ext script not looping

list Steve Coile
Wed, 24 Sep 2014 10:10:05 -0400
Message-Id: <CAHr=user-da59a0c624cd@xymon.invalid>

Ensure ssh isn't reading from standard input by using the -n option:

ZFSHEALTH=`/usr/local/bin/ssh -n $MACHINE "/sbin/zpool get health rpool" |
grep ONLINE | wc -l`

ZFSSTAT=`ssh -n -q $MACHINE /sbin/zpool status rpool`


-- 

*Steve Coile*Senior Network and Systems Engineer, McClatchy Interactive
<http://www.mcclatchyinteractive.com/>;
Office: XXX-XXX-XXXX | Mobile: XXX-XXX-XXXX | Fax: XXX-XXX-XXXX

On Wed, Sep 24, 2014 at 10:00 AM, Ricardo L. <user-7954c4ed4af4@xymon.invalid> wrote:
 I have this script work is failing on all hosts except the first one.

I have narrowed it down to the ssh statement. For some reason the ssh
statement causes the script to exit after the first host.

Any ideas why the ssh statement would cause the ext script to exit after
the first host ?


 #!/bin/sh


export
PATH=$PATH:/sbin:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/local/bin


HOSTTAG=zfsmon          # What we put in hosts.cfg to trigger this test

COLUMN=zfs              # Name of the column, often same as tag in
hosts.cfg


$XYMONHOME/bin/xymongrep $HOSTTAG | while read L

do

        set $L  # To get one line of output from xymongrep


        HOSTIP="$1"

        MACHINEDOTS="$2"

        MACHINE=`echo $2 | $SED -e's/\./,/g'`


        COLOR=green

        MSG="&green $MACHINEDOTS : POOL OK "


        #... do the test, perhaps modify COLOR and MSG


        typeset ZFSSTAT=


        ZFSHEALTH=`/usr/local/bin/ssh $MACHINE "/sbin/zpool get health
rpool" | grep ONLINE | wc -l`


        if [ $ZFSHEALTH -ne 1 ]

        then

        COLOR=red

        MSG="&red $MACHINEDOTS : POOL ISSUE"

        fi


        ZFSSTAT=`ssh -q $MACHINE /sbin/zpool status rpool`


        $XYMON $XYMSRV "status $MACHINE.$COLUMN $COLOR `date`


        ${MSG}


        $ZFSSTAT

      "

Done