Convert to use ksh

This commit is contained in:
2025-10-28 07:25:18 -04:00
parent ab2e15d717
commit 67050cf3a0
6 changed files with 173 additions and 144 deletions

77
rubrik_mv_op.ksh Executable file
View 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