Files
nokia-hpux-oracle/rubrik_mv_op.ksh
2025-10-28 07:25:18 -04:00

78 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/ksh
#
# Open and Close MV using API call to CDM
# Written for AvonHCL / Nokia
# v1.0 - James Pattinson - October 2025
#
# usage: rubrik_mv_op.ksh -d <DBNAME> -v <logs|data> -o <open|close>
#
# -d Oracle DBNAME
# -v Volume to operate on, logs or data
# -o Operation to perform - open or close the MV
get_script_dir() {
# Portable way to get script directory for Linux and HP/UX (ksh compatible)
src="$0"
while [ -h "$src" ]; do
dir=$(cd -P $(dirname "$src") >/dev/null 2>&1 && pwd)
src=$(readlink "$src")
case $src in
/*) ;; # absolute path
*) src="$dir/$src";;
esac
done
cd -P $(dirname "$src") >/dev/null 2>&1 && pwd
}
MYDIR=$(get_script_dir)
. $MYDIR/rbk_api.conf
. $MYDIR/oracle_funcs.ksh
usage() {
echo "Usage: $0 -d <DBNAME> -v <logs|data> -o <open|close>" 1>&2
exit 1
}
force=0
while getopts "d:v:o:" o; do
case "${o}" in
d)
DBNAME=${OPTARG}
;;
v)
VOLUME=${OPTARG}
;;
o)
OPCODE=${OPTARG}
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
if [ -z "${DBNAME}" ] || [ -z "${VOLUME}" ] || [ -z "${OPCODE}" ]; then
usage
fi
# Script starts here
get_short_hostname() {
if hostname -s >/dev/null 2>&1; then
hostname -s
else
hostname | awk -F. '{print $1}'
fi
}
mv_name=$(get_short_hostname)_${DBNAME}_${VOLUME}
get_mv
case $OPCODE in
open) open_mv ;;
close) close_mv ;;
*) echo "ERROR: Invalid opcode. Specify open or close" ; exit_with_error
esac
cleanup