diff --git a/varbackup b/varbackup index 4dbc2ff..8aadb17 100755 --- a/varbackup +++ b/varbackup @@ -5,20 +5,26 @@ Help() # Display Help echo "create a rotating backup of the var folder" echo - echo "Syntax: varbackup [-h|s]" + echo "Syntax: varbackup [-h|s|v]" echo "options:" - echo "h Print this Help." - echo "s Silent mode." + echo "h Print this Help" + echo "s Silent mode" + echo "v Verbose mode" echo } -while getopts ":hs" option; do +while getopts ":hsv" option; do case $option in h) # display Help Help - exit;; + exit + ;; s) # enable silent mode - isSilent=true;; + isSilent=true + ;; + v) # enable verbose mode + verboseOption=" -v" + ;; esac done @@ -28,26 +34,26 @@ BACKUPDIR=${BASEDIR}/backup/var/ CONFDIR=$BASEDIR/backup/ if [ ! -d "$BACKUPDIR" ]; then - [ -z ${isSilent} ] && echo "creating backup directory ${BACKUPDIR}" - mkdir -p "${BACKUPDIR}" + [[ -z ${isSilent} || -v ${verboseOption} ]] && echo -e "\e[36mcreate backup directory ${BACKUPDIR}\e[0m" + mkdir -p ${verboseOption} "${BACKUPDIR}" fi if [ ! -f "${CONFDIR}rotatemap_var.conf" ]; then - [ -z ${isSilent} ] && echo "creating config file" + [[ -z ${isSilent} || -v ${verboseOption} ]] && echo -e "\e[36mcreate config file\e[0m" printf "${BACKUPDIR}var.tar {\nrotate 100\ncompress\ndateext\ndateformat %s\n}" ".%Y-%m-%dT%H:%M:%S" > ${CONFDIR}rotatemap_var.conf fi -[ -z ${isSilent} ] && echo "pack var directory" +[[ -z ${isSilent} || -v ${verboseOption} ]] && echo -e "\e[36mpack var directory\e[0m" cd ${BASEDIR} -tar --numeric-owner -cf backup/var/new.tar var +tar --numeric-owner ${verboseOption} -cf backup/var/new.tar var if [ ! -f "${BACKUPDIR}latest.tar" ] || [ "$(cmp ${BACKUPDIR}latest.tar ${BACKUPDIR}new.tar)" ]; then - cp ${BACKUPDIR}new.tar ${BACKUPDIR}latest.tar && \ - mv ${BACKUPDIR}new.tar ${BACKUPDIR}var.tar && \ - /usr/sbin/logrotate -fs ${CONFDIR}rotatemap_var.state ${CONFDIR}rotatemap_var.conf + cp ${verboseOption} ${BACKUPDIR}new.tar ${BACKUPDIR}latest.tar && \ + mv ${verboseOption} ${BACKUPDIR}new.tar ${BACKUPDIR}var.tar && \ + /usr/sbin/logrotate ${verboseOption} -fs ${CONFDIR}rotatemap_var.state ${CONFDIR}rotatemap_var.conf else - rm ${BACKUPDIR}new.tar + rm ${verboseOption} ${BACKUPDIR}new.tar fi -[ -z ${isSilent} ] && echo "finished" +[[ -z ${isSilent} || -v ${verboseOption} ]] && echo -e "\e[32mfinished\e[0m" exit 0