Convert to use ksh
This commit is contained in:
77
rubrik_mv_op.ksh
Executable file
77
rubrik_mv_op.ksh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user