Backup-Duplicity-YADW
view release on metacpan or search on metacpan
#!/usr/bin/perl
# PODNAME: yadw
# ABSTRACT: Yet Another Duplicity Wrapper command line utility
###### PACKAGES ######
use Modern::Perl;
use Getopt::Long;
use Backup::Duplicity::YADW;
use File::Basename;
use Data::Dumper;
###### CONSTANTS ######
###### GLOBAL VARIABLES ######
use vars qw(
$Verbose
$DryRun
$Command
$ConfFileName
$Full
$Conf
$Pid
$Yadw
);
###### MAIN PROGRAM ######
parse_cmdline();
run_command();
###### END MAIN #######
sub run_command {
my %args;
if ($ConfFileName) {
$args{conf_dir} = dirname $ConfFileName;
$args{conf_file} = basename $ConfFileName;
}
if ($Verbose) {
$args{verbose} = 1;
}
eval { $Yadw = Backup::Duplicity::YADW->new(%args); };
if ($@) {
if ( $Backup::Duplicity::YADW::ErrCode
== Backup::Duplicity::YADW::PID_EXISTS() )
{
say STDERR "yadw is already running";
exit 0;
}
else {
die $@;
}
}
if ( $Command eq 'full' ) {
$Yadw->backup('full');
}
elsif ( $Command =~ /^inc/ ) {
$Yadw->backup('inc');
}
elsif ( $Command eq 'expire' ) {
( run in 0.810 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )