Backup-Duplicity-YADW

 view release on metacpan or  search on metacpan

bin/yadw  view on Meta::CPAN

#!/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 )