equal
  deleted
  inserted
  replaced
  
    
    
|      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 |