Simple versioned backup
Apr. 8th, 2005 03:29 pmThis Perl script adds a time stamp to the file name and copies the file to a backup directory.
#!perl -w
use strict;
require 5.004;
use File::Basename;
use File::Copy;
use File::Spec;
my $BACKUPDIR = 'c:\\backup';
sub doBackup {
my $fname = shift;
my $basename = basename $fname;
my $destbase = sprintf("%08X-%s", time, $basename);
my $destname = File::Spec->catfile($BACKUPDIR, $destbase);
print "Backing up $fname to $destname...\n";
copy($fname, $destname) or die "copy failed: $!\n";
}
@ARGV > 0 or die "Usage: $0 files-to-backup\n";
for my $fname (@ARGV) {
doBackup $fname;
}
__END__