Waste is a simple script that makes it easier to search for old files in a path on a linux systems. Waste features allow you do display the listing sorted by day or size and search for files a specific number of days old or between a range of days old. It simplifies the usage of the find command by wrapping it up into a easy to use script. Its appeal is as a cleanup script for directories that have files that need to be purged over time.
#!/bin/bash if [[ $# = 0 || $1 = "-h" || "$#" -lt 4 ]]; then echo "Usage: [-d|-s] [-r {start end}|-o {start}] directory" echo " -h displays the help" echo " -d display listing sorted by day" echo " -s display listing sorted by size" echo " -r display files between a specific number of days old" echo " -o display files older then a specific number of days" echo " Example1: waste -d -r 10 20 /home" echo " Example2: waste -s -o 30 /process" exit fi case "$1" in '-s') case "$2" in '-r') if [ "$#" -lt 5 ]; then echo "Usage: [-d|-s] [-r {start end}|-o {start}] directory" exit fi printf "Date\t\tSize\tDirectory/File\n" /usr/bin/find $5 -type d -daystart -mtime +$3 -mtime -$4 -printf "%CY-%Cm-%Cd\t" -maxdepth 1 -exec /usr/bin/du.new -s --block-size=M "{}" \; | /bin/sort -k2nr ;; '-o') if [ "$#" -lt 4 ]; then echo "Usage: [-d|-s] [-r {start end}|-o {start}] directory" exit fi printf "Date\t\tSize\tDirectory/File\n" /usr/bin/find $4 -type d -daystart -mtime +$3 -printf "%CY-%Cm-%Cd\t" -maxdepth 1 -exec /usr/bin/du.new -s --block-size=M "{}" \; | /bin/sort -k2nr ;; esac ;; '-d') case "$2" in '-r') if [ "$#" -lt 5 ]; then echo "Usage: [-d|-s] [-r {start end}|-o {start}] directory" exit fi printf "Date\t\tSize\tDirectory/File\n" /usr/bin/find $5 -type d -daystart -mtime +$3 -mtime -$4 -printf "%CY-%Cm-%Cd\t" -maxdepth 1 -exec /usr/bin/du.new -s --block-size=M "{}" \; | /bin/sort -k2nr | /bin/sort ;; '-o') if [ "$#" -lt 4 ]; then echo "Usage: [-d|-s] [-r {start end}|-o {start}] directory" exit fi printf "Date\t\tSize\tDirectory/File\n" /usr/bin/find $4 -type d -daystart -mtime +$3 -printf "%CY-%Cm-%Cd\t" -maxdepth 1 -exec /usr/bin/du.new -s --block-size=M "{}" \; | /bin/sort -k2nr | /bin/sort ;; esac ;; esac