# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1303853948 -7200 # Node ID 23a3977d923d12ccaac1a50834e788886c186e8e # Parent a7624396dd9c692afcddb8272a4799505afe977f moved sbin/ back to bin/, removed Perl6::Slurp dependency diff -r a7624396dd9c -r 23a3977d923d .hgignore --- a/.hgignore Tue Apr 26 22:58:00 2011 +0200 +++ b/.hgignore Tue Apr 26 23:39:08 2011 +0200 @@ -1,9 +1,7 @@ syntax: glob ftbackup.conf debian/* -ftbackup.8 debian/files -Makefile .version _build/ blib/ diff -r a7624396dd9c -r 23a3977d923d .perltidyrc --- a/.perltidyrc Tue Apr 26 22:58:00 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ ---paren-tightness=2 ---square-bracket-tightness=2 diff -r a7624396dd9c -r 23a3977d923d Build.PL --- a/Build.PL Tue Apr 26 22:58:00 2011 +0200 +++ b/Build.PL Tue Apr 26 23:39:08 2011 +0200 @@ -4,13 +4,12 @@ Module::Build->new( dist_name => "ftbackup", - dist_version => "0.7", + dist_version => "0.8", requires => { perl => "5.10.0", - "Perl6::Slurp" => 0, "Net::FTP" => 0, "Date::Parse" => 0, }, - script_files => [glob("sbin/*")], + script_files => [glob("bin/*")], )->create_build_script(); diff -r a7624396dd9c -r 23a3977d923d MANIFEST --- a/MANIFEST Tue Apr 26 22:58:00 2011 +0200 +++ b/MANIFEST Tue Apr 26 23:39:08 2011 +0200 @@ -1,5 +1,5 @@ -.perltidyrc -sbin/ftbackup +bin/.perltidyrc +bin/ftbackup build-stamp configure configure-stamp diff -r a7624396dd9c -r 23a3977d923d bin/.perltidyrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/.perltidyrc Tue Apr 26 23:39:08 2011 +0200 @@ -0,0 +1,2 @@ +--paren-tightness=2 +--square-bracket-tightness=2 diff -r a7624396dd9c -r 23a3977d923d bin/ftbackup --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/ftbackup Tue Apr 26 23:39:08 2011 +0200 @@ -0,0 +1,645 @@ +#! /usr/bin/perl + +use 5.010; +use strict; +use warnings; + +use File::Basename; +use Net::FTP; +use Getopt::Long; +use Sys::Hostname; +use Pod::Usage; +use POSIX qw(strftime); +use Date::Parse qw(str2time); +use Cwd qw(realpath); +use English qw(-no_match_vars); +use if $ENV{DEBUG} => qw(Smart::Comments); + +$ENV{LC_ALL} = "C"; + +my $ME = basename $0; +my $VERSION = ''; + +my @CONFIGS = ("/etc/$ME.conf", "$ENV{HOME}/.$ME.conf", "$ME.conf"); + +my $HOSTNAME = hostname; +my $NOW = time(); + +my $opt_level = undef; +my $opt_today = strftime("%F", localtime $NOW); +my @opt_debug = (); +my $opt_verbose = 0; +my $opt_dry = 0; +my $opt_force = 0; +my $opt_label = "daily"; +my $opt_info = 0; +my $opt_config = ""; +my $opt_dumpdates = "/var/lib/dumpdates"; + +sub slurp($); +sub get_configs(@); +sub get_candidates(); +sub verbose(@); +sub update_devnames($$$); +sub get_history(@); +sub calculate_level($@); +sub real_device($); +sub get_estimate($$); +sub devno($); + +our @AT_EXIT; +END { $_->() foreach @AT_EXIT } +$SIG{INT} = sub { warn "Got signal INT\n"; exit 1 }; + +my %CONFIG = ( + FTP_DIR => "backup/