prunefiles - A Shell Script to Selectively Delete Files

Characteristics of prunefiles: Some of the reasons to use prunefiles, rather than, say a cron entry like this:

find /var/tmp/application -type f -mtime +31 -name '*.log' -exec rm {} \;

The prunefiles Usage Message

$ prunefiles usage (version 2.1.0): prunefiles [optional_arguments] prunefiles_args_pathname [...] # where the options are: -d delimiter_string - Default: ':::' -f find_program - Default: /usr/local/bin/findfiles -h - Display this usage message -l log_file - Send output to a this log file. Default: '/var/tmp/prunefiles_jc/20250917_094626' (as of now) -n - Dry run mode - display files/directories to be deleted; do not delete them. Default: off -v verbosity_level - Default: 3

Download prunefiles from the github repository.

Using Prunefiles with findfiles (the default)

/var/tmp/my_program/logs ::: -f -m 31D -p '\.txt' ::: delete files ending in .txt modified > 31 days ago /var/tmp/my_program/sent ::: -f -m 1Y -p '\.csv' ::: delete files ending in .csv modified > 1 year ago

Using Prunefiles with find

/var/tmp/my_program/logs ::: -mtime +31 -name '*.txt' ::: delete files ending in .txt modified > 31 days ago /var/tmp/my_program/sent ::: -mtime +365 -name '*.csv' ::: delete files ending in .csv modified > 365 days ago

prunefiles Examples

$ prunefiles /root/prunefiles_args