#!/usr/bin/perl #Einbinden nötiger Module use File::Find::Rule::Age; use strict; use warnings; use English; use Getopt::Long; use File::stat; use vars qw($PROGNAME); use lib "/usr/lib64/nagios/plugins"; my $pfad; #local *DIR; my @dateien = (); my $pfadtotal = ''; my ($opt_c, $opt_f, $opt_w, $opt_p, $opt_n, $opt_r); my @subdirs = (); Getopt::Long::Configure('bundling'); GetOptions( "p" => \$pfad, "pfad" => \$pfad, "n" => \$opt_n, "Normal" => \$opt_n, "r" => \$opt_r, "rekursive" => \$opt_r, "w=f" => \$opt_w, "warning-age=f" => \$opt_w, "c=f" => \$opt_c, "critical-age=f" => \$opt_c); if ($pfad) { $pfad = shift ; } #Verzeichnis lesen #Rekursive if ($opt_r) { # find all the subdirectories of a given directory my @subdirs = File::Find::Rule->directory->in( $pfad ); # Datei alter auslesen.i foreach my $dir (@subdirs){ my @dateien = find( file => age => [ older => '1m' ], in => $dir ); } } #Normal if ($opt_n) { my @dateien = find( file => age => [ older => '1m' ], in => $pfad ); } # Addition oder Rekursion fuer alle gelesenen foreach my $datei (@dateien) { print "FILE_AGE Critical: $datei is older than 1 Month \n"; }