]> Frank Brehm's Git Trees - scripts/solaris.git/commitdiff
Neu dazu
authorFrank Brehm <frank@brehm-online.com>
Thu, 28 Dec 2006 13:15:59 +0000 (13:15 +0000)
committerFrank Brehm <frank@brehm-online.com>
Thu, 28 Dec 2006 13:15:59 +0000 (13:15 +0000)
sicher.pl [new file with mode: 0755]

diff --git a/sicher.pl b/sicher.pl
new file mode 100755 (executable)
index 0000000..5cd24e2
--- /dev/null
+++ b/sicher.pl
@@ -0,0 +1,130 @@
+#!/usr/local/bin/perl
+
+# $Id$
+# $URL$
+
+=head1 NAME
+
+sicher.pl
+
+=head1 DESCRIPTION
+
+Script zum rekursiven Erstellen von Sicherheitskopien von Dateien (mit Zeitstempel)
+
+=head1 SYNOPSIS
+
+    sicher.pl [-c <configfile>] [-t] [-v[ -v...]] [-D <debuglevel>] [<Datei1> [Datei2] usw.]
+    sicher.pl -h
+    sicher.pl -V
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<--configfile I<configfile>>
+
+=item B<--conf I<configfile>>
+
+=item B<-c I<configfile>> - Konfigurationsdatei
+
+Wenn nicht angegeben, wird C</etc/sicher.conf> bzw., wenn vorhanden, die Datei C<$HOME/.sicher.conf> verwendet.
+
+=item B<--verbose>
+
+=item B<-v> - Verbose-Level (Debug-Level)
+
+Wird durch Mehrfach-Aufzaehlung erhoeht.
+
+=item B<--DebugLevel I<level>>
+
+=item B<--Debug I<level>>
+
+=item B<-D level> - Debug-Level
+
+Numerische Angabe des Debug-Levels.
+
+I<Hinweise>:
+
+Die Parameter C<-v> und C<-D> wirken sich gleich aus.
+Wenn beide angegeben werden, wird der hoehere von beiden verwendet.
+
+=item B<--test>
+
+=item B<-t> - Testmodus
+
+Es wird nur so getan, als ob.
+
+=item B<--help>
+
+=item B<-h>
+
+=item B<-?>
+
+Gibt diesen Hilfebildschirm aus und beendet sich.
+
+=item B<--version>
+
+=item B<-V>
+
+Gibt die Versionsnummer dieses Programms aus und beendet sich.
+
+=back
+
+=cut
+
+
+use strict;
+use 5.8.0;
+use warnings;
+
+use Data::Dumper;
+use Getopt::Long;
+use Pod::Usage;
+use Time::HiRes qw( gettimeofday tv_interval );
+
+$| = 1;
+
+Getopt::Long::Configure('bundling');
+$Data::Dumper::Indent   = 1;
+$Data::Dumper::Sortkeys = 1;
+
+my $Revis = <<'ENDE';
+  $Revision$
+ENDE
+$Revis =~ s/^.*:\s*(\S+)\s*\$.*/$1/s;
+our $VERSION = "1." . $Revis;
+
+my ( $cfgfile, $test_mode, $help, $cmdline_verbose, $show_version, $DebugLevel );
+
+unless (
+    GetOptions(
+        "configfile|conf|c=s"  => \$cfgfile,
+        "test|t"               => \$test_mode,
+        "help|h|?"             => \$help,
+        "verbose|v+"           => \$cmdline_verbose,
+        "version|V"            => \$show_version,
+        "DebugLevel|Debug|D=i" => \$DebugLevel,
+    )
+  )
+{
+    pod2usage( { -exitval => 1, -verbose => 1 } );
+} ## end unless ( GetOptions( "configfile|conf|c=s"...
+
+$cmdline_verbose ||= 0;
+$cmdline_verbose = $DebugLevel if $DebugLevel and $DebugLevel > $cmdline_verbose;
+
+my $verbose = $cmdline_verbose;
+
+if ($help) {
+    $verbose ? pod2usage( -exitstatus => 1, -verbose => 2 ) : pod2usage(1);
+}
+
+if ($show_version) {
+    print "Version $0: " . $VERSION . "\n";
+    print "\n";
+    exit 0;
+}
+
+
+
+