Use the script on Example 1-1 to lock a Clear Case VOB (version object database), do the backup, then unlock the VOB. Your customized script file must reside in the same directory where the Backup save program is installed (for example, on a Solaris system, the save program is installed in the /usr/sbin/nsr directory). You enter the name of the script into the Backup Command attribute of the Client resource configured for the ClearCase VOB. During a scheduled backup, the Backup Command is invoked instead of the usual save program.
#!/bin/sh# export the SHELL that we are going to use SHELL=/bin/sh export SHELL # export the correct PATH so that all the required binaries can be found case $0 in /* ) PATH=/usr/atria/bin:/bin:/usr/bin:\Q/bin/dirname $0\Q c=\Q/bin/basename $0\Q ;; * )PATH=/usr/atria/bin:/bin:/usr/bin:/usr/sbin:/usr/bin/nsr:/usr/sbin/nsr c=$0 ;; esac export PATH # These are the valid statuses which save reports on completion of the backup statuses=" failed. abandoned. succeeded. completed savetime= " # Perform the PRECMD (Lock VOB) /usr/atria/bin/cleartool setview -exec "/usr/atria/bin/cleartoollock -c \ `VOB backups in progress' -vob /cm_data/mis_dev" magic_view > /tmp/voblock.log 2>&1 # Perform backup on client save "$@" > /tmp/saveout$$ 2>& # cat out the save output cat /tmp/saveout$$ # search for the backup status in the output reported by save for i in ${statuses}; do result=\Qgrep "${i}" /tmp/saveout$$\Q if [ $? != 0 ]; then echo ${result} fi done # Perform the POSTCMD (Unlock VOB) /usr/atria/bin/cleartool setview -exec "/usr/atria/bin/cleartoolunlock - vob /cm_data/mis_dev" \ magic_view > /tmp/vobunlock.log 2>& # make sure to gracefully exit out of this shell script exit 0 |
You must include the save command within your script in order for the backup to occur. If the script file is not in the same directory as the save program, the backup will fail.