add verbose mode

This commit is contained in:
Daniel Seifert 2025-01-30 09:01:01 +01:00
parent 8762bab150
commit 56bf23adaa

View File

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