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;
}