first version for updating. symlinks and index pages are missing
authorroot <root@mail.cweiske.de>
Sat, 14 Nov 2009 12:54:42 +0000 (13:54 +0100)
committerroot <root@mail.cweiske.de>
Sat, 14 Nov 2009 12:54:42 +0000 (13:54 +0100)
.gitignore [new file with mode: 0644]
awstats.sh [new file with mode: 0755]
config.php.dist [new file with mode: 0644]
update-sites.php [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..4f4773f
--- /dev/null
@@ -0,0 +1 @@
+config.php
diff --git a/awstats.sh b/awstats.sh
new file mode 100755 (executable)
index 0000000..883fe08
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/share/doc/awstats/examples/awstats_buildstaticpages.pl -awstatsprog=/usr/lib/cgi-bin/awstats.pl -config=mail.cweiske.de -dir=/var/www/system/awstats/ -builddate=%YYYY-%MM -update
diff --git a/config.php.dist b/config.php.dist
new file mode 100644 (file)
index 0000000..772e7fa
--- /dev/null
@@ -0,0 +1,7 @@
+<?php
+$confdir = '/etc/awstats/';
+$htmldir = '/var/www/system/awstats/';
+$awstats = '/usr/lib/cgi-bin/awstats.pl';
+$awsbstp = '/usr/share/doc/awstats/examples/awstats_buildstaticpages.pl';
+
+?>
\ No newline at end of file
diff --git a/update-sites.php b/update-sites.php
new file mode 100644 (file)
index 0000000..5159548
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Updates awstats for multiple sites
+ */
+require 'config.php';
+
+function aws_sites()
+{
+    $sites = array();
+    foreach (glob($GLOBALS['confdir'] . '/awstats.*.conf') as $file) {
+        $sites[] = preg_replace('/^.*awstats.(.+).conf$/', '\\1', $file);
+    }
+    return $sites;
+}
+
+function aws_createHtml($site, $last = false)
+{
+    if (!is_dir($GLOBALS['htmldir'])) {
+        die("HTML directory " . $GLOBALS['htmldir'] . " does not exist\n");
+    }
+
+    if ($last) {
+        $month = date('m', strtotime('last month'));
+        $year  = date('Y', strtotime('last month'));
+    } else {
+        $month = date('m');
+        $year  = date('Y');
+    }
+
+    $dir = $GLOBALS['htmldir'] . '/' . $site . '/' . $year . '-' . $month . '/';
+    if (!is_dir($dir)) {
+        mkdir($dir, 0777, true);
+    }
+    $cmd = $GLOBALS['awsbstp']
+        . ' -config=' . escapeshellarg($site)
+       . ' -awstatsprog=' . escapeshellarg($GLOBALS['awstats'])
+       . ' -update'
+       . ' -month=' . $month
+       . ' -year=' . $year
+       . ' -dir=' . escapeshellarg($dir);
+    passthru($cmd);var_dump($cmd);
+}
+
+foreach (aws_sites() as $site) {
+    aws_createHtml($site);
+}
+?>
\ No newline at end of file