#!/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