#!/usr/bin/ksh
# sccsid = "@(#)19   1.7   src/packages/rsct/core/rmc/root/rsct.core.rmc.unconfig.sh, clpkg.rsct, rsct_rady, rady2035a 8/22/16 23:24:47"



########################################################################
CT_CFGCT_HIST_DIR=/tmp/
CT_CFGCT_HIST_LOG=${CT_CFGCT_HIST_DIR}/rsct_cfgct_history.log
CT_CFGCT_HIST_LOG_MAXSIZE_KB=500      # 500 KB

basecmd=$(basename $0)


#
function print_cfgct_dbgmsg
{
	if [[ -n $CT_CFGCT_HIST_LOG ]]; then
		print `date` ${basecmd} "($$)" : "$*" >> $CT_CFGCT_HIST_LOG
	fi
}


#
# backup the cfgct log file if its size is big
function backup_cfgct_log_file
{
   if [[ -z $CT_CFGCT_HIST_DIR ]]; then
        return
   fi

   if [[ -n $CT_CFGCT_HIST_DIR && ! -d $CT_CFGCT_DIR ]]; then
        print_cfgct_dbgmsg "Create dir $CT_CFGCT_HIST_DIR"
        mkdir -p ${CT_CFGCT_HIST_DIR}
   fi

   if [[ ! -f $CT_CFGCT_HIST_LOG ]]; then
        # LOG file does not exist. Nothing to backup
        print_cfgct_dbgmsg "No log file exist. No backup is needed"
        return 1;
   fi

   # Check size of "CT_CFGCT_HIST_LOG"
   if [[ -z $CT_CFGCT_HIST_LOG_MAXSIZE_KB ]]; then
        CT_CFGCT_HIST_LOG_MAXSIZE_KB=500
   fi

   set -A lsout  $(ls -s ${CT_CFGCT_HIST_LOG})
   if (( ${lsout[0]} > $CT_CFGCT_HIST_LOG_MAXSIZE_KB ))
   then
        # Exceed
        print_cfgct_dbgmsg "Log file $CT_CFGCT_HIST_LOG exceeds the size $CT_CFGCT_LOG_MAXSIZE_KB Kb. Backup it"
        mv -f ${CT_CFGCT_HIST_LOG} ${CT_CFGCT_LOG}.bak
   fi
}

########################################################################
# Check log file size and backup if necessary
backup_cfgct_log_file

print_cfgct_dbgmsg "Invoking uncfgct"

/usr/sbin/rsct/install/bin/uncfgct
rc=$?

exit $rc
