maniu@securebrain.com:~/script# vi cmpkgown.sh



#!/bin/sh

# serve per lanciare il crontab solo nel nodo che detiene il package SG 
# prende come parametro il nome del pacchetto SG
# ritorna exit 0 se il pacchetto e' attivo sul nodo dal quale si sta lanciando lo script
# exit 1 in caso contrario

# esempio:
# /usr/local/script/cmpkgown.sh dp ; echo $?
# 1
# cmviewcl -p dp
# PACKAGE STATUS STATE AUTO_RUN NODE
# dp up running disabled hutch
# lo script ritorna exit 1 perche' il pacchetto "dp" non e' attivo sul starsky.

# Per utilizzarlo, basta metterlo in AND con lo script che si vuole mettere in crontab,
# passando come parametro il nome del pacchetto.
# esempio:
# 15 8 * * 1,2,3,4,5 /usr/local/script/cmpkgown.sh dp && /omni_shared/script/media.sh pool
# In questo modo lo script /omni_shared/script/media.sh verra' lanciato solo se il pacchetto dp e' attivo in quel nodo. 


if [ $# -lt 1 ];
then echo "specify package name"
exit 1
fi
PKG=$1
IAM=`uname -n`
STATUS=`cmviewcl -p $PKG -f line|grep status | cut -d= -f 2`
if [ "$STATUS" = "up" ];
then
NODE=`cmviewcl -p $PKG -f line|grep owner | cut -d= -f 2`
if [ "$NODE" = "$IAM" ];
then exit 0
else
exit 1
fi
fi




:q!