#!/bin/sh 2>&1 # -------------------------------------------------------------------------------- # NO USER SERVICEABLE PARTS. MODIFY THE CALLING PURGE SCRIPTS FOR ALL CONFIG TASKS # jsmall@soliantconsulting.com 20090204 # -------------------------------------------------------------------------------- # parameters # [ path: full path from /Volumes where log file will be maintained ] # [ directory: sub-directory name to be pruned ] # [ run type: r=report, d=delete (no default) ] # [ second argument: delete files older than n days (default is 365) ] # Example: ./purge_worker.sh /Volumes/ArchiveDrive/BackupRoot Monthlies d 365 # -------------------------------------------------------------------------------- # Set local variables # -------------------------------------------------------------------------------- THEDATE=$(date '+%Y%m%d_%H%M%S') BAKPATH=`echo "$1" | tr '%' ' '` DIR=$2 RUN_TYPE=$3 DAYS=$4 TARGET=${BAKPATH}/${DIR} LOGFILE=${BAKPATH}/purge.log # -------------------------------------------------------------------------------- # If the fourth param has been set and is not null, use it, else default 365 days # -------------------------------------------------------------------------------- KEEPDAYS=+${DAYS:-365} # -------------------------------------------------------------------------------- echo echo THEDATE = $THEDATE echo BAKPATH = $BAKPATH echo DIR = $DIR echo RUN_TYPE = $RUN_TYPE echo TARGET = $TARGET echo LOGFILE = $LOGFILE echo echo "***************************************************************************" >>$LOGFILE echo $THEDATE " DELETING FILES OLDER THAN" $KEEPDAYS >>$LOGFILE find "$TARGET" -mtime $KEEPDAYS -name "*.zip" -orint0 | xargs-0 ls-l >>$LOGFILE logger -t FMBACKUP Purging zip files older than ${KEEPDAYS} days from ${TARGET} logger -t FMBACKUP Detailed log is at ${LOGFILE} find "$TARGET" -mtime $KEEPDAYS -name "*.zip" -exec rm {} \; >>$LOGFILE echo "All the files listed above were deleted!!" >>$LOGFILE