#!/bin/bash #+++++++++++++++++++++++++++++++++++++++++++++++++++ # eSales Media Backup Script # # Author: Benjamin Roth # Version: 18.0.3 #+++++++++++++++++++++++++++++++++++++++++++++++++++ if [ ! $1 -a $2 -a $3 ] then echo "Wrong parameter count." exit 1 fi ##################### # PARAMETER # ##################### TARGETDIR=$2 DAYOFFSET=`echo $1 | awk -F:: '{ print $2 }'` let MINUTEOFFSET=${DAYOFFSET}*1440+30 JOBNAME=$3 ################### # CLEANUP # ################### if [ -d $TARGETDIR ] then # Check for existing backup files OBSOLETECOUNT=`find $TARGETDIR -maxdepth 1 -mmin +${MINUTEOFFSET} -type f -regex ".*/${JOBNAME//\./\\.}_[0-9]*\(_?[0-9]*\)\..*" | wc -l` VALIDCOUNT=`find $TARGETDIR -maxdepth 1 -mmin -${MINUTEOFFSET} -type f -regex ".*/${JOBNAME//\./\\.}_[0-9]*\(_?[0-9]*\)\..*" | wc -l` if [ "$OBSOLETECOUNT" -gt 0 -a "$VALIDCOUNT" -gt 1 ] then find $TARGETDIR -maxdepth 1 -mmin +${MINUTEOFFSET} -type f -regex ".*/${JOBNAME//\./\\.}_[0-9]*\(_?[0-9]*\)\..*" | while read LINE do if [ -f $LINE ] then rm -f $LINE &> /dev/null fi done echo "Cleanup of ${OBSOLETECOUNT} files completed" exit 0 else echo "Nothing to cleanup" exit 0 fi else echo "Check source directory!" exit 1 fi