#!/bin/sh
cd  `dirname $0`
#Setting the Path for Netbackup Env

BDIR=`pkgparam VRTSnetbp BASEDIR`
NBHOME=$BDIR/openv/netbackup/bin/
VMHOME=$BDIR/openv/volmgr/bin/
ADMINHOME=$BDIR/openv/netbackup/bin/admincmd/
PATH=$PATH:$NBHOME:$VMHOME:$ADMINHOME
export PATH

OUTDIR=$1

        if [ ! -d $OUTDIR ]

              then
                 mkdir -p $OUTDIR
              else
                 rm $OUTDIR/*.out
       fi


#Get the Netback version
VERSION=`cat $NBHOME/version |awk '{print $2}'`
echo $VERSION >$OUTDIR/version.out


nbgather5()

       {

       echo "Collecting Library Information"
         vmglob -listall -java |grep robot | awk {'print $5" "$7" "$9'} | while read server robnum robtype
        do
           type=`echo $robtype |tr "[:upper:]" "[:lower:]"`
           vmcheckxxx -rt $type -rn $robnum -rh $server >>$OUTDIR/roboinfo.out
           echo "Server "$server >>$OUTDIR/roboinfo.out
	       echo "RobotNumber "$robnum >>$OUTDIR/roboinfo.out
	       echo "RobotType "$type >>$OUTDIR/roboinfo.out
 	       echo "====================================================" >>$OUTDIR/roboinfo.out
        done



echo "Collecting Template Information"
bpcllist |while read class
do
bpclinfo $class -L  >>$OUTDIR/classinfo.out
echo Class Name : $class >> $OUTDIR/classinfo.out
echo ========================== >> $OUTDIR/classinfo.out
echo ClassName $class >> $OUTDIR/includes.out
bpclinclude $class -l  >> $OUTDIR/includes.out
echo ========================== >> $OUTDIR/includes.out

# Version 5.1 does not support bpclexclude command. Hence using it only for 5.0GA
if test "$VERSION" = "5.0GA"
then
echo ClassName $class >> $OUTDIR/excludes.out
bpclexclude $class -l >> $OUTDIR/excludes.out
echo ========================== >> $OUTDIR/excludes.out
fi

done

echo " " > $OUTDIR/schedinfo.out
bpcllist | while read class
do
bpclsched $class | sed -e 's/^$/class '$class'/g' |sed '/SCHEDFOE/{G;}' >>$OUTDIR/schedinfo.out
done

echo "Collecting Media Information"
vmquery -a>$OUTDIR/media.out
vmquery -w -a>$OUTDIR/media2.out
bpmedialist -l >$OUTDIR/mediainuse.out

echo "Collecting Drive Information"
vmglob -listall >$OUTDIR/libraryDrive.out
bpstulist -U >$OUTDIR/storageunit.out
echo "Collecting Topology Information"
hostname>$OUTDIR/hostname.out
cat /usr/openv/netbackup/bp.conf  >$OUTDIR/topology.out
echo "Collecting Jobs Information"
bpcllist >$OUTDIR/template.out
bpdbjobs -report -all_columns >$OUTDIR/jobs.out
vmpool -listall  >$OUTDIR/mediapool.out
bpclclients >$OUTDIR/client.out
       }



nbgather3()

       {

       echo "Collecting Library Information"
         vmglob -listall -java |grep robot | awk {'print $5" "$7" "$9'} | while read server robnum robtype
        do
           type=`echo $robtype |tr "[:upper:]" "[:lower:]"`
           echo "Server="$server "Robotnumber="$robnum "Robotype="$type >>$OUTDIR/roboinfo.out
           vmcheckxxx -rt $type -rn $robnum -rh $server >>$OUTDIR/roboinfo.out
        done


echo "Collecting Template Information"
bpcllist |while read class
do
bpclinfo $class -L  >>$OUTDIR/classinfo.out
echo Class Name : $class >> $OUTDIR/classinfo.out
echo ========================== >> $OUTDIR/classinfo.out
echo Class Name : $class >> $OUTDIR/includes.out
bpclinclude $class -l  >> $OUTDIR/includes.out
echo ========================== >> $OUTDIR/includes.out
echo Class Name : $class >> $OUTDIR/excludes.out
bpclexclude $class -l >> $OUTDIR/excludes.out
echo ========================== >> $OUTDIR/excludes.out
done

echo " " > $OUTDIR/schedinfo.out
bpcllist | while read class
do
bpclsched $class | sed -e 's/^$/class '$class'/g'  >>$OUTDIR/schedinfo.out
done

echo "Collecting Media Information"
vmquery -a>$OUTDIR/media.out
vmquery -w -a>$OUTDIR/media2.out
bpmedialist -l >$OUTDIR/mediainuse.out

echo "Collecting Drive Information"
vmglob -listall >$OUTDIR/libraryDrive.out

bpstulist -U >$OUTDIR/storageunit.out

echo "Collecting Topology Information"
hostname>$OUTDIR/hostname.out
cat /usr/openv/netbackup/bp.conf  >$OUTDIR/topology.out

echo "Collecting Jobs Information"
bpcllist >$OUTDIR/template.out
bpdbjobs -report -all_columns >$OUTDIR/jobs.out
vmpool -listall  >$OUTDIR/mediapool.out
bpclclients >$OUTDIR/client.out
}



nbgather4()

       {                                                                                              sabu

       echo "Collecting Library Information"
         vmglob -listall -java |grep robot | awk {'print $5" "$7" "$9'} | while read server robnum robtype
        do
           type=`echo $robtype |tr "[:upper:]" "[:lower:]"`
           vmcheckxxx -rt $type -rn $robnum -rh $server >>$OUTDIR/roboinfo.out
           echo "Server "$server >>$OUTDIR/roboinfo.out
	       echo "RobotNumber "$robnum >>$OUTDIR/roboinfo.out
	       echo "RobotType "$type >>$OUTDIR/roboinfo.out
 	       echo "====================================================" >>$OUTDIR/roboinfo.out
        done


echo "Collecting Template Information"
bpcllist |while read class
do
bpclinfo $class -L  >>$OUTDIR/classinfo.out
echo Class Name : $class >> $OUTDIR/classinfo.out
echo ========================== >> $OUTDIR/classinfo.out
echo Class Name : $class >> $OUTDIR/includes.out
bpclinclude $class -l  >> $OUTDIR/includes.out
echo ========================== >> $OUTDIR/includes.out
echo Class Name : $class >> $OUTDIR/excludes.out
bpclexclude $class -l >> $OUTDIR/excludes.out
echo ========================== >> $OUTDIR/excludes.out
done

echo " " > $OUTDIR/schedinfo.out
bpcllist | while read class
do
bpclsched $class | sed -e 's/^$/class '$class'/g' |sed '/SCHEDFOE/{G;}' >>$OUTDIR/schedinfo.out
done

echo "Collecting Media Information"
vmquery -a>$OUTDIR/media.out
vmquery -w -a >$OUTDIR/media2.out
bpmedialist -l >$OUTDIR/mediainuse.out

echo "Collecting Drive Information"
vmglob -listall >$OUTDIR/libraryDrive.out
bpstulist -U >$OUTDIR/storageunit.out
echo "Collecting Topology Information"
hostname>$OUTDIR/hostname.out
cat /usr/openv/netbackup/bp.conf  >$OUTDIR/topology.out
echo "Collecting Jobs Information"
bpcllist >$OUTDIR/template.out
bpdbjobs -report -all_columns >$OUTDIR/jobs.out
vmpool -listall  >$OUTDIR/mediapool.out
bpclclients >$OUTDIR/client.out
}
case $VERSION in

         5.0GA | 5.1)
                 echo $VERSION
                 nbgather5
                  ;;
         3.4GA)  echo $VERSION
                 nbgather3
                  ;;
         4.5GA)  echo $VERSION
                 nbgather4
                  ;;
esac
# echo "Data collection complete: E-mail results to jpownell@appiq.com"