Hi,
I've a problem with Webalizer. The cron runs every night at 00:30. AFAIK that should mean that the current /stats always would include the day before.
Mine does not. :-/ Today is 18 of nov. The stats however only counts up to the 16:th.
Am I wrong, is this the expected behaviour?
This is the webalizer part of cron_daily.php:
Code:
#######################################################################################################
// Create webalizer statistics
#######################################################################################################
function setConfigVar( $filename, $varName, $varValue ) {
if($lines = @file($filename)) {
$out = '';
$found = 0;
foreach($lines as $line) {
@list($key, $value) = preg_split('/[\t= ]+/', $line, 2);
if($key == $varName) {
$out .= $varName.' '.$varValue."\n";
$found = 1;
} else {
$out .= $line;
}
}
if($found == 0) {
//* add \n if the last line does not end with \n or \r
if(substr($out,-1) != "\n" && substr($out,-1) != "\r") $out .= "\n";
//* add the new line at the end of the file
if($append == 1) $out .= $varName.' '.$varValue."\n";
}
file_put_contents($filename,$out);
}
}
$sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE stats_type = 'webalizer' AND server_id = ".$conf['server_id'];
$records = $app->db->queryAllRecords($sql);
foreach($records as $rec) {
//$yesterday = date('Ymd',time() - 86400);
$yesterday = date('Ymd',strtotime("-1 day", time()));
$logfile = escapeshellcmd($rec['document_root'].'/log/'.$yesterday.'-access.log');
if(!@is_file($logfile)) {
$logfile = escapeshellcmd($rec['document_root'].'/log/'.$yesterday.'-access.log.gz');
if(!@is_file($logfile)) {
continue;
}
}
$domain = escapeshellcmd($rec['domain']);
$statsdir = escapeshellcmd($rec['document_root'].'/web/stats');
$webalizer = '/usr/bin/webalizer';
$webalizer_conf_main = '/etc/webalizer/webalizer.conf';
$webalizer_conf = escapeshellcmd($rec['document_root'].'/log/webalizer.conf');
if(is_file($statsdir.'/index.php')) unlink($statsdir.'/index.php');
if(!@is_file($webalizer_conf)) {
copy($webalizer_conf_main,$webalizer_conf);
}
if(@is_file($webalizer_conf)) {
setConfigVar($webalizer_conf, 'Incremental', 'yes');
setConfigVar($webalizer_conf, 'IncrementalName', $statsdir.'/webalizer.current');
setConfigVar($webalizer_conf, 'HistoryName', $statsdir.'/webalizer.hist');
}
if(!@is_dir($statsdir)) mkdir($statsdir);
exec("$webalizer -c $webalizer_conf -n $domain -s $domain -r $domain -q -T -p -o $statsdir $logfile");
}
Recent comments
11 hours 47 min ago
14 hours 42 min ago
15 hours 56 min ago
17 hours 20 min ago
18 hours 57 min ago
20 hours 26 min ago
21 hours 40 min ago
1 day 13 hours ago
1 day 14 hours ago
1 day 18 hours ago