70 lines
1.3 KiB
Bash
Executable File
70 lines
1.3 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() {
|
|
src="$0"
|
|
dir=$(cd -P "$(dirname "$src")" >/dev/null 2>&1 && pwd)
|
|
echo "$dir"
|
|
}
|
|
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
|