add param support with getopt

This commit is contained in:
Jonas Meier 2020-05-17 23:13:11 +02:00
parent e558d783ac
commit bb62ba2a07

View File

@ -8,9 +8,20 @@ use File::Rsync;
use DateTime;
use DateTime::Duration;
use DateTime::Format::Strptime;
use Getopt::Long;
my $rsync_src;
my $rsync_dst;
my $age;
GetOptions ("source=s" => \$rsync_src,
"destination=s" => \$rsync_dst,
"age=i" => \$age)
or die("Error. Wrong arguments!\n");
my $now = DateTime->now();
my $cutoff_timestamp = $now - DateTime::Duration->new(days => 7);
my $cutoff_timestamp = $now - DateTime::Duration->new(days => $age);
my $parser = DateTime::Format::Strptime->new(
pattern => '%Y/%m/%d %H:%M:%S',
time_zone => 'UTC',
@ -26,13 +37,13 @@ my @files = grep {
name => $parts[4],
timestamp => $parser->parse_datetime($parts[2] . ' ' . $parts[3]),
}
} $rsync->list(src => 'planet.openstreetmap.org::planet/planet/');
} $rsync->list(src => $rsync_src);
#use DDP; p @files;
$rsync->exec(
src => 'planet.openstreetmap.org::planet/planet/',
dst => '/tmp/rsynctest',
src => $rsync_src,
dst => $rsync_dst,
include => [map { $_->{name} } @files],
exclude => ['*'],
);