-
Notifications
You must be signed in to change notification settings - Fork 4
/
awstats.pl
executable file
·43 lines (38 loc) · 968 Bytes
/
awstats.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/local/bin/perl
# Refresh the AWStats report, from a cron job
use strict;
use warnings;
our $no_acl_check++;
require './virtualmin-awstats-lib.pl';
my $debug;
my $output;
if ($ARGV[0] eq "--debug") {
# Enable debug mode, which shows the output from the report command
shift(@ARGV);
$debug = 1;
}
if ($ARGV[0] eq "--output") {
# Write a static HTML report to the given directory
shift(@ARGV);
$output = shift(@ARGV);
-d $output || die "Missing directory $output";
}
@ARGV == 1 || die "usage: awstats.pl [--debug] [--output dir] <domainname>";
my $dname = shift(@ARGV);
my $cfile = &get_config_file($dname);
my $wwwcfile = &get_config_file("www.".$dname);
if (!-l $wwwcfile) {
&unlink_logged($wwwcfile);
&symlink_logged($cfile, $wwwcfile);
}
if ($debug) {
&generate_report($dname, *STDERR, 0);
}
else {
open(my $NULL, ">", "/dev/null");
&generate_report($dname, $NULL, 0);
close($NULL);
}
if ($output) {
&generate_html($dname, $output);
}