All pastes #568476 Raw Edit

Someone

public text v1 · immutable
·published 2007-06-15 15:36 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 ( $dir eq "\n" ) {
    $dir = "$ENV{HOME}/.backup";
    print "Your backups will be kept in the default directory: $ENV{HOME}/.backup!\n";
}
-e $dir || mkdir $dir,600 || warn "Cannot create $dir: $!";

my (@files, $file);
@files = @ARGV;
foreach $file (@files) {
         date($file);
         system("mv $file $dir")
              or die "moving failed\n";
}

sub date {
    my ( $day, $month, $year ) = (localtime)[3 .. 5];
    $month = 0 . $month if $month < 10;
    $year += 1900;
    my $stamp = join '-', $year, $month, $day;
    rename $_, "$stamp.$_";
}