File::Find can be used to write such a script, but doesn't by itself address this issue.
On Tue, Jun 30, 2009 at 6:15 PM, Dana Hudes <dhu...@hudes.org> wrote: > File::Find::Perl > ------Original Message------ > From: Jonathan Swartz > To: module-authors@perl.org > Sent: Jun 30, 2009 7:59 PM > Subject: module/script to clean up old files and prune empty directories > > At various places around our system we want to clean up files older > than x, and sometimes prune empty directories. Naturally we have to be > careful doing this lest we accidentally blow away far too many of the > wrong files. > > I'm thinking about a Perl module and accompanying script with this > interface: > > cleanup_files.pl --age=age --dir=dir --name=name [--dry-run] [-- > prune-empty-dirs] > > where age can be specified as "1h", "2day", etc., and name is a > required glob pattern, and dir is checked to make sure it is > sufficiently deep (e.g. can't use /). --dry-run tells you what would > be deleted. --prune-empty-dirs also causes empty dirs to be pruned. > The script would report at its end how many files and directories were > removed. > > The idea is to have a convenient, but safe, one-liner to put in a cron > for each directory that needs periodic cleaning. > > In the past we've done the old "find ... | xargs rm -f", but it > doesn't have the safety checks, directory pruning, or reporting. > > Does anyone else think this is (mildly) valuable? Am I reinventing the > wheel, in terms of Perl libraries or other Unix utilities besides > basic find? > > Thanks > Jon > > > > Sent from my BlackBerry® smartphone with Nextel Direct Connect -- Check out my LEGO blog at http://www.brickpile.com/ View my photos at http://flickr.com/photos/billward/ Follow me at http://twitter.com/williamward