The name of a script file for pre-processing of a backup is as follows.
/etc/opt/FJSVswsts/sh/OpcBackup.pre
Pre-processing Script for Backup (OpcBackup.pre)
1: #!/bin/sh 2: 3: # AdvancedCopy Manager 4: # All Rights Reserved, Copyright FUJITSU LIMITED, 2004-2007 5: 6: # 7: # Pre-processing of backup processing 8: # 9: # Argument: $1 Device or VG name of transaction disk 10: # $2 Reserve 11: # $3 Device or VG name of backup disk 12: # 13: # Error number 14: # 2: Argument error 15: # 10: umount error 16: # 50: varyoff error 17: # 99: Script not customize 18: 19: # Argument check 20: case $# in 21: 1) 22: ;; 23: 2) 24: ;; 25: 3) 26: ;; 27: *) 28: exit 2 29: ;; 30: esac 31: 32: device=$1 33: bk_device=$3 34: 35: if [ "$SWSTGNODE" != "" ] 36: then 37: swstg_node="/`echo $SWSTGNODE`" 38: else 39: swstg_node="" 40: fi 41: 42: err_log_path="/var/opt/FJSVswsts"$swstg_node"/log" 43: 44: # Determination of postprocessing file name 45: if [ "`echo $device | /usr/bin/grep "/dev/hdisk"`" != "" ] 46: then 47:dev_type="lvm_pv" 48:# /dev/hdisk? -> hdisk? 49:dev="`echo $device | /usr/bin/awk -F\/ '{ print $3 }'`" 50: 51: elif [ "`echo $device | /usr/bin/grep "/dev/vx/dmp/"`" != "" ] 52: then 53:dev_type="vxvm_pv" 54:# /dev/vx/dmp/device -> device 55:dev="`echo $device | /usr/bin/awk -F\/ '{ print $5 }'`" 56: 57: elif [ "`echo $device | /usr/bin/grep "/dev/"`" != "" ] 58: then 59:dev_type="lvm_vg" 60:# /dev/VG_Name -> VG_Name 61:dev="`echo $device | /usr/bin/awk -F\/ '{ print $3 }'`" 62: 63: else 64:# Other Volume 65:exit 0 66: fi 67: 68: post_file="/etc/opt/FJSVswsts"$swstg_node"/data/DEFAULT/"$dev".pre" 69: 70: # When the transaction disk is a volume group ############################# 71: if [ "$dev_type" = "lvm_vg" ] 72: then 73: 74: # Devices are volume group and script not customize 75: exit 99 76: 77: # When devices of volume group can be unmounted 78: # Specify the name of volume group to unmount 79: if [ "$device" = "/dev/vgXX" ] 80: then 81: echo "mount" > $post_file 82: 83: # Unmount all logical volumes of the volume group 84: mount_point="/XX" 85: /usr/sbin/umount $mount_point 2>/dev/null 86: if [ $? != 0 ] 87: then 88: retry_count=3 89: sleep_time=1 90: result_flag=1 91: 92: while [ $retry_count -gt 0 ] 93: do 94: /usr/sbin/umount $mount_point > $err_log_path/$dev.umount 2>&1 95: if [ $? != 0 ] 96: then 97: retry_count=`expr $retry_count - 1` 98: /usr/bin/sleep $sleep_time 99: else 100: /usr/bin/rm -f $err_log_path/$dev.umount 101: result_flag=0 102: break 103: fi 104: done 105: 106: if [ $result_flag != 0 ] 107: then 108: /usr/sbin/fuser -cu $mount_point> $err_log_path/$dev.fuser 2>&1 109: /usr/bin/ps -ef > $err_log_path/$dev.ps 2>&1 110: 111: exit 10 112: fi 113: fi 114: 115: # mount_point="/XX" 116: # /usr/sbin/umount $mount_point 2>/dev/null 117: # if [ $? != 0 ] 118: # then 119: # /usr/sbin/umount $mount_point > $err_log_path/$dev.umount 2>&1 120: # if [ $? != 0 ] 121: # retry_count=3 122: # sleep_time=1 123: # result_flag=1 124: # 125: # while[ $retry_count -gt 0 ] 126: # do 127: # /usr/sbin/umount $mount_point> $err_log_path/$dev.umount 2>&1 128: # if[ $? != 0 ] 129: # then 130: # retry_count=`expr $retry_count - 1` 131: # sleep $sleep_time 132: # else 133: # rm -f $err_log_path/$dev.umount 134: # result_flag=0 135: # break 136: # fi 137: # done 138: # 139: # if[ $result_flag != 0 ] 140: # then 141: # /usr/sbin/fuser -cu $mount_point> $err_log_path/$dev.fuser 2>&1 142: # /usr/bin/ps -ef> $err_log_path/$dev.ps 2>&1 143: # 144: # exit 10 145: # fi 146: # fi 147: # fi 148: fi 149: 150: # varyoff the backup volume. 151: BKVOL=`/usr/bin/basename $bk_device` 152: ACTIVE_VGS=`/usr/sbin/lsvg -o` 153: for i in $ACTIVE_VGS 154: do 155: if[ "$BKVOL"= "$i" ] 156: then 157: /usr/sbin/varyoffvg $i 2>/dev/null 158: if[ $? != 0 ] 159: then 160: /usr/sbin/varyoffvg $i> $err_log_path/$dev.varyoffvg 2>&1 161: if[ $? != 0 ] 162: then 163: exit 50 164: else 165: /usr/bin/rm -f $err_log_path/$dev.varyoffvg 166: fi 167: fi 168: break 169: fi 170: done 171: 172: # When the transaction disk is a VxVM physical volume ######################### 173: elif [ "$dev_type" = "vxvm_pv" ] 174: then 175: # Nothing is done to VxVM physical volume. 176: echo "none" > $post_file 177: 178: # When the transaction disk is a LVM physical volume ########################## 179: elif [ "$dev_type" = "lvm_pv" ] 180: then 181: # Nothing is done to LVM physical volume. 182: echo "none" > $post_file 183: 184: fi 185: exit 0