You are on page 1of 1

A script to delete folder later than X days: 01 #!/bin/bash 02 03 if [ $# -lt 2 ]; then 04 cat <<EOF 05 usage: clean_dir.

sh directory_name keey_days 06 examples: 07 clean_dir.sh /dump 30 #delete directories old than 30 days i n /dump 08 EOF 09 exit 1 10 fi 11 12 CLEAR_DIR=$1 13 KEEP_DAYS=$2 14 15 if [ ! -d "$CLEAR_DIR" ]; then 16 echo "Directory $CLEAR_DIR didn't exist, exit!" 17 exit 1 18 fi 19 20 echo "`date` : Start delete directories older than $KEEP_DAYS days in $C LEAR_DIR ar `hostname`" 21 cd $CLEAR_DIR 22 find $CLEAR_DIR/* -maxdepth 1 -type d -mtime +${KEEP_DAYS} | awk '{print "ls -ld "$1}'|sh 23 find $CLEAR_DIR/* -maxdepth 1 -type d -mtime +${KEEP_DAYS} | awk '{print "/bin/rm -rf "$1}' |sh 24 echo "`date` : End" Note: In Solaris, replace -maxdepth 1? with -prune

You might also like