All pastes #574273 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-06-18 14:23 UTC
rendered paste body
#!/usr/bin/perl -w
# Usage: backup <FILENAMES>
use strict;
use File::Copy;

die "Usage: backup <FILENAMES>\n" unless @ARGV > 0;

my $dir;
print "Directory to keep backups in [Enter for the default]: ";
$dir = <STDIN>; 
chomp $dir;
if ( not $dir ) { 
    $dir = "$ENV{HOME}/.backup";
    print "Your backups will be kept in the default directory: $ENV{HOME}/.backu
p\n";
}
-e $dir || mkdir $dir || warn "Cannot create $dir: $!";

my ( @files, $file );
@files = @ARGV;

my $date = date();
foreach $file (@files) {
    copy $file, "$dir/$date.$file" or die "copy failed: $!";
}
sub date {
    my ( $day, $month, $year ) = (localtime)[3 .. 5];
    $month = 0 . $month if $month < 10;
    $year += 1900;
    return join '-', $year, $month, $day;
}