You are on page 1of 4

#!

/bin/ksh
# set -x
. /nsr/scripts/.profile
. /root/.profile

############################
### Avoid Multiple Users ###
############################
ls /nsr/scripts/.lock* >> /dev/null 2>&1
if [ $? = 0 ]
then
echo "Cannot proceed; There is a lock `ls /nsr/scripts/.lock*`"
echo "exiting..."
exit
else
touch /nsr/scripts/.lock.$SUDO_USER
chmod 600 /nsr/scripts/.lock.$SUDO_USER
fi
trap "rm /nsr/scripts/.lock.$SUDO_USER;echo interrupted...;exit" 2

#################################
### collect WO or INC number ###
#################################
if [ $1 ]
then
WORK_ORDER=$1
else
echo "enter INC or CRQ or WO number:"
read WORK_ORDER
fi

if [ $WORK_ORDER ]
then
echo "ticket number given is $WORK_ORDER"
echo " "
else
echo "You MUST enter a valid INC or CRQ or WO number. Exiting..."
rm /nsr/scripts/.lock.$SUDO_USER
exit
fi

###################################
### Get the client name to show ###
###################################
if [ $2 ]
then
CLIENT_NAME=$2
else
echo "Enter backup client name:"
read CLIENT_NAME
fi

if [ $CLIENT_NAME ]
then
echo "backup client name given is $CLIENT_NAME"
echo " "
else
echo "you MUST enter a client name.Exiting...."
rm /nsr/scripts/.lock.$SUDO_USER
exit
fi

########################
### define variables ###
########################
BASE=/nsr/scripts/client_operations/logs
LOG_FILE=/nsr/scripts/client_operations/assign_log
BKUP_SERVER=mv3wbksv01prv-prod.smrc.sidra.org
CMD1=get_groups_for_$CLIENT_NAME
OUT1=$CMD1.log

##################
### get groups ###
##################
echo "show name;comment;group;save set;scheduled backup" > $BASE/$CMD1
echo "print type:NSR client;name:$CLIENT_NAME;scheduled backup:Enabled" >>
$BASE/$CMD1
echo `date` > $BASE/$OUT1
nsradmin -s $BKUP_SERVER -i $BASE/$CMD1 >> $BASE/$OUT1 2>&1
if [ $? = 0 ]
then
if [ `cat $BASE/$OUT1 | grep group | awk '{print $2}' | tr -d ";" | tr -d
"," | head -1` ]
then
echo "client $CLIENT_NAME belongs to following groups:"
cat $BASE/$OUT1 | grep group | awk '{print $2 " " $3 " " $4 " " $5
" " $6}' | tr -d ";"
if [ `cat $BASE/$OUT1 | grep group | grep Test | awk '{print
$1}'` ]
then
echo " "
echo "one of the client instances already belongs to group Test.
Unassign it from group Test to assign another client instance to group Test"
echo "exiting..."
rm /nsr/scripts/.lock.$SUDO_USER
exit
else
echo " "
echo "enter the group name of the client instance you want to
assign to group Test:"
read GROUP_NAME
fi
else
echo "client $CLIENT_NAME doesn't belong to any regular backup
groups. There may not be a need to assign this client to group Test"
echo "exiting.."
rm /nsr/scripts/.lock.$SUDO_USER
echo " "
exit
fi
else
echo "Appears that the client name given, $CLIENT_NAME, is not valid,
client is not scheduled, OR backup server is not available"
echo "Check $BASE/$OUT1 for details"
echo "exiting.."
rm /nsr/scripts/.lock.$SUDO_USER
echo " "
exit
fi

###################################
### Assign client to group test ###
###################################
VALID_ANSWER=false

if [ $GROUP_NAME ]
then
for i in `cat $BASE/$OUT1 | grep group | grep -v Test | awk '{print $2}' | tr
-d ";" | tr -d ',' | sort -u`
do
if [ $GROUP_NAME = $i ]
then
VALID_ANSWER=true
CMD2=assign_$CLIENT_NAME.$GROUP_NAME
OUT2=$CMD2.log
echo "show name;comment;group;save set;scheduled backup" > $BASE/
$CMD2
echo "print type:NSR client;name:$CLIENT_NAME;group:$GROUP_NAME"
>> $BASE/$CMD2
echo "update group:$GROUP_NAME,Test" >> $BASE/$CMD2
echo " `date` old values are:" > $BASE/$OUT2
echo " " >> $BASE/$OUT2
nsradmin -s $BKUP_SERVER -i $BASE/$CMD2 >> $BASE/$OUT2 2>&1
if [ $? = 0 ]
then
echo "show name;comment;group;save set;scheduled backup" >
$BASE/$CMD2.tmp
echo "print type:NSR client;name:$CLIENT_NAME;group:
$GROUP_NAME" >> $BASE/$CMD2.tmp
echo " " >> $BASE/$OUT2
echo " `date` new values are:" >> $BASE/$OUT2
echo " " >> $BASE/$OUT2
nsradmin -s $BKUP_SERVER -i $BASE/$CMD2.tmp >> $BASE/$OUT2
2>&1
echo " "
echo "Assigned client $CLIENT_NAME that belong to
$GROUP_NAME also to group Test"
else
echo "There appears to be a problem assigning client
$CLIENT_NAME that belong to $GROUP_NAME to group Test"
echo "please check $BASE/$OUT2 for details"
echo "exiting..."
rm /nsr/scripts/.lock.$SUDO_USER
exit
fi
fi
done
fi

if [ $VALID_ANSWER = false ]
then
echo " "
echo "You MUST enter a valid group name of the client instance which is
already not assigned to group Test"
echo "exiting..."
rm /nsr/scripts/.lock.$SUDO_USER
echo " "
exit
fi
rm /nsr/scripts/.lock.$SUDO_USER
echo "Good Bye..."

You might also like