Hi Everyone,
I have written a script to automate the docbase cleanup process on every weekly basis. That is in this script i have to shutdown the docbase and then kill all the process that are hanged except one process(epic process) and need to delete some log files and then i have to start the docbase.
The following is the content of the script,
#!/bin/ksh
# docbase cleanup process
DM_DBA=/apps/documentum/dba
cd $DM_DBA
# Next, set up the logfile.
logdir=/apps/documentum/dba/log
if [ ! -d $logdir ] ; then
echo "$0: Fatal error: missing directory $logdir"
exit 1
fi
logfile=/apps/documentum/dba/log/test.log
echo "\n *Space before cleanup process \n" > $logfile
df -k >> $logfile
# process running before shut down
echo "\n *************** Process running before shutdown **************** \n" >> $logfile
ps -ef|grep doc >> $logfile
#shut down Legal
echo "\n ************** shut down Legal ************** \n" >> $logfile
./dm_shutdown_legal >> $logfile
status=$?
if [ ! $status = 0 ] ; then
cat <<-END
***** ERROR DURING LEGAL SHUTDOWN *****
The legal dmshutdown utility reported a non-zero status **
END
exit 1
fi
#shut down Docbroker
echo "\n ********** shut down Docbroker **************\n" >> $logfile
./dm_stop_docbroker
status=$?
if [ ! $status = 0 ] ; then
cat <<-END
***** ERROR DURING DOCBROKER SHUTDOWN *
The docbroker shutdown utility reported a non-zero status *
END
exit 1
fi
#Killing all the process except the Epic process
echo "\n *** Killing process except epic process ******* \n" >> $logfile
ps -ef|grep doc| grep -v '/apps/documentum/epic5.1/bin/sun4r5/adeptlmd -s180 -e /apps/documentum/epic5.1/'|grep -v grep|awk '{print $2}'| xargs kill -9
echo "after killing the process"
#Delete test.out file in buildcd
buildcddir=/apps/documentum/cdrom/apps/buildcd
if [ ! -d $buildcddir ] ; then
echo "\n $0: Fatal error: missing directory $buildcddir \n" >> $logfile
exit 1
fi
buildcdfile= $buildcddir/test.out
if [ -f $buildcdfile ]
then
echo "\n *************** test.out file exist in builcd path ****************\n" >> $logfile
rm $buildcdfile >> $logfile
fi
#starting docbroker
echo " \n ************* starting docbroker ************** \n" >>$logfile
./dm_launch_docbroker >>$logfile
status=$?
if [ ! $status = 0 ] ; then
cat <<-END
***** ERROR DURING DOCBROKER STARTUP *****
The docbroker start utility reported a non-zero status **
END
exit 1
fi
#starting legal
echo "\n ************** starting legal *********** \n" >> $logfile
./dm_start_legal >>$logfile
status=$?
if [ ! $status = 0 ] ; then
cat <<-END
***** ERROR DURING LEGAL STARTUP *****
The legal start utility reported a non-zero status **
END
exit 1
fi
In the above code, the script gets hanged while executing the statement ps -ef|grep doc| grep -v '/apps/documentum/epic5.1/bin/sun4r5/adeptlmd -s180 -e /apps/documentum/epic5.1/'|grep -v grep|awk '{print $2}'| xargs kill -9
After this statement, the script is not executing any statement.
If i remove this line alone, the script is running without any problem.
But i have to kill all the processes that are hanged after the docbase has been shutdown. and then i have to start the docbase by calling another script which has been already written.
Can anyone please tell me why is my script get hanged at this statement.
Kindly please help me on how to resolve this probelm.
Thanks in advance.
Regards,
Sheethal