plugins/check_amanda-client
changeset 20 92818898bb2c
parent 19 3a7ef04681d6
child 21 2247be0e2a13
equal deleted inserted replaced
19:3a7ef04681d6 20:92818898bb2c
     9 use File::Spec::Functions;
     9 use File::Spec::Functions;
    10 use Data::Dumper;
    10 use Data::Dumper;
    11 use File::Find;
    11 use File::Find;
    12 use Carp;
    12 use Carp;
    13 use Pod::Usage;
    13 use Pod::Usage;
       
    14 use Const::Fast;
    14 
    15 
    15 our $VERSION = '0.0.2';
    16 our $VERSION = '0.0.2';
       
    17 
       
    18 const my $NAME  => 'AMANDA-CLIENT';
       
    19 const my $USER  => 'backup';
       
    20 const my $CFDIR => '/etc/amanda';
    16 
    21 
    17 sub su;
    22 sub su;
    18 sub find_tool;
    23 sub find_tool;
    19 sub check_perms;
    24 sub check_perms;
    20 sub config_names;
    25 sub config_names;
    22 
    27 
    23 sub amchecks;
    28 sub amchecks;
    24 sub compare_lists;
    29 sub compare_lists;
    25 
    30 
    26 sub main;
    31 sub main;
    27 
       
    28 my $NAME = 'AMANDA-CLIENT';
       
    29 
    32 
    30 sub ok;
    33 sub ok;
    31 sub warning;
    34 sub warning;
    32 sub critical;
    35 sub critical;
    33 sub unknown;
    36 sub unknown;
    49         'h|help'      => sub { pod2usage(-verbose => 1, -exit => 0) },
    52         'h|help'      => sub { pod2usage(-verbose => 1, -exit => 0) },
    50         'm|man'       => sub { pod2usage(-verbose => 2, -exit => 0) },
    53         'm|man'       => sub { pod2usage(-verbose => 2, -exit => 0) },
    51         'v|verbose'   => \$opt_verbose,
    54         'v|verbose'   => \$opt_verbose,
    52     ) or pod2usage;
    55     ) or pod2usage;
    53 
    56 
    54     if ($opt_verbose) {
    57     *::verbose = $opt_verbose ? sub { say '# ', @_ } : sub { };
    55         *::verbose = sub { say '# ', @_ }
       
    56     }
       
    57     else {
       
    58         *::verbose = sub { }
       
    59     }
       
    60 
    58 
    61     # test needs to be run as root:* or as backup:backup
    59     # test needs to be run as root:* or as backup:backup
    62     my $USER  = 'backup';
       
    63     my $CFDIR = '/etc/amanda';
       
    64 
       
    65     # change to backup if still root
    60     # change to backup if still root
    66     su $USER if $> == 0;
    61     su $USER if $> == 0;
    67 
    62 
    68     # amservice needs to be suid root, but executable
    63     # amservice needs to be suid root, but executable
    69     # by the backup user/group
    64     # by the backup user/group