Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re^3: Delete all but the most recent backup file

by Kenosis (Priest)
on Jan 27, 2013 at 23:12 UTC ( #1015593=note: print w/replies, xml ) Need Help??

in reply to Re^2: Delete all but the most recent backup file
in thread Delete all but the most recent backup file

You're most welcome!

Yes, Komodo appears to just be alerting you about <DATA>, but should certainly know better, since there's a __DATA__ section.

Try the following:

use strict; use warnings; use File::stat; chomp( my @fileNames = <*.bak> ); my @sortedFileNames = map $_->[0], sort { $b->[1] <=> $a->[1] } map { my $stat = stat $_; [ $_, $stat->mtime ] } grep /^backup_\d\d_\d\d_\d{4}.bak$/, @fileNames; shift @sortedFileNames; if (@sortedFileNames) { print "$_\n" for @sortedFileNames; #unlink @sortedFileNames; }

This stats each file for the modification time, using it in the sort. Also, note that a file glob's used to read directory files...

Replies are listed 'Best First'.
Re^4: Delete all but the most recent backup file
by jagexCoder (Novice) on Jan 28, 2013 at 00:58 UTC
    Hi thanks, that works great! I modified the regular expression to the file naming format that we use at work. I just noticed that the system of sorting and preserving the latest backup and deleting the rest is the most efficient - my supervisor and dad (he's a programmer) said the same thing. I don't know why I stuck with the idea of using flags, I guess it's the little mistakes the not-that-experienced programmers make. This is a good learning experience! I'll figure out the syntax related to sorting that has been implemented and understand it fully. Thanks again to both of you - take care!

      Here is an alternative idea

      Archive the backups for a month before deleting them (like zip/7-zip)

      Since the files are nearly identical, it should compress really well, so in the same space you have of 24hrs of backups you can have ~20 days of backups (one zip per day), and if you combine those zip/day backups into a single archive, you'll have space for more days :)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1015593]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (10)
As of 2018-06-25 15:02 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (127 votes). Check out past polls.