diff options
Diffstat (limited to 'web/attachments/239325-check_file_age.patch')
-rw-r--r-- | web/attachments/239325-check_file_age.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/web/attachments/239325-check_file_age.patch b/web/attachments/239325-check_file_age.patch new file mode 100644 index 0000000..9381765 --- /dev/null +++ b/web/attachments/239325-check_file_age.patch | |||
@@ -0,0 +1,84 @@ | |||
1 | --- check_file_age.bak 2007-07-27 14:24:15.000000000 +0100 | ||
2 | +++ check_file_age 2007-07-27 14:31:20.000000000 +0100 | ||
3 | @@ -33,22 +33,23 @@ | ||
4 | sub print_help (); | ||
5 | sub print_usage (); | ||
6 | |||
7 | -my ($opt_c, $opt_f, $opt_w, $opt_C, $opt_W, $opt_h, $opt_V); | ||
8 | -my ($result, $message, $age, $size, $st); | ||
9 | - | ||
10 | $PROGNAME="check_file_age"; | ||
11 | |||
12 | -$opt_w = 240; | ||
13 | -$opt_c = 600; | ||
14 | -$opt_W = 0; | ||
15 | -$opt_C = 0; | ||
16 | -$opt_f = ""; | ||
17 | +my $opt_V = undef; | ||
18 | +my $opt_w = 240; | ||
19 | +my $opt_c = 600; | ||
20 | +my $opt_W = 0; | ||
21 | +my $opt_C = 0; | ||
22 | +my $opt_f = ""; | ||
23 | +my $opt_d = ""; | ||
24 | +my $opt_h = ""; | ||
25 | |||
26 | Getopt::Long::Configure('bundling'); | ||
27 | GetOptions( | ||
28 | "V" => \$opt_V, "version" => \$opt_V, | ||
29 | "h" => \$opt_h, "help" => \$opt_h, | ||
30 | "f=s" => \$opt_f, "file" => \$opt_f, | ||
31 | + "d=s" => \$opt_d, "dir" => \$opt_d, | ||
32 | "w=f" => \$opt_w, "warning-age=f" => \$opt_w, | ||
33 | "W=f" => \$opt_W, "warning-size=f" => \$opt_W, | ||
34 | "c=f" => \$opt_c, "critical-age=f" => \$opt_c, | ||
35 | @@ -64,25 +65,32 @@ | ||
36 | exit $ERRORS{'OK'}; | ||
37 | } | ||
38 | |||
39 | -$opt_f = shift unless ($opt_f); | ||
40 | +$opt_f = shift unless ($opt_f or $opt_d); | ||
41 | |||
42 | -if (! $opt_f) { | ||
43 | - print "No file specified\n"; | ||
44 | +if (not $opt_f and not $opt_d) { | ||
45 | + print "No file or directory specified\n"; | ||
46 | exit $ERRORS{'UNKNOWN'}; | ||
47 | } | ||
48 | |||
49 | # Examine the file. | ||
50 | -unless (-f $opt_f) { | ||
51 | +if ($opt_f and not -f $opt_f) | ||
52 | +{ | ||
53 | print "$opt_f: File not found\n"; | ||
54 | exit $ERRORS{'UNKNOWN'}; | ||
55 | } | ||
56 | +elsif ($opt_d and not -d $opt_d) | ||
57 | +{ | ||
58 | + print "$opt_d: Directory not found\n"; | ||
59 | + exit $ERRORS{'UNKNOWN'}; | ||
60 | +} | ||
61 | |||
62 | -$st = File::stat::stat($opt_f); | ||
63 | -$age = time - $st->mtime; | ||
64 | -$size = $st->size; | ||
65 | +my $file = $opt_f || $opt_d; | ||
66 | |||
67 | +my $st = File::stat::stat($file); | ||
68 | +my $age = time - $st->mtime; | ||
69 | +my $size = $st->size; | ||
70 | |||
71 | -$result = 'OK'; | ||
72 | +my $result = 'OK'; | ||
73 | |||
74 | if (($opt_c and $age > $opt_c) or ($opt_C and $size < $opt_C)) { | ||
75 | $result = 'CRITICAL'; | ||
76 | @@ -91,7 +99,7 @@ | ||
77 | $result = 'WARNING'; | ||
78 | } | ||
79 | |||
80 | -print "$result - $opt_f is $age seconds old and $size bytes\n"; | ||
81 | +print "$result - $file is $age seconds old and $size bytes\n"; | ||
82 | exit $ERRORS{$result}; | ||
83 | |||
84 | sub print_usage () { | ||