cron errors got to logfile now and are available in monitor-section
| | |
| | | if(stristr($val,'/usr/local/ispconfig')) unset($existing_root_cron_jobs[$key]); |
| | | } |
| | | |
| | | // Crontab must end with an empty line or comment! |
| | | $root_cron_jobs = array( |
| | | '* * * * * /usr/local/ispconfig/server/server.sh > /dev/null', |
| | | '30 00 * * * /usr/local/ispconfig/server/cron_daily.sh > /dev/null' |
| | | '# --- ISPConfig ----', |
| | | '* * * * * /usr/local/ispconfig/server/server.sh > /dev/null 2>> /var/log/var/log/ispconfig/cron.log', |
| | | '30 00 * * * /usr/local/ispconfig/server/cron_daily.sh > /dev/null 2>> /var/log/var/log/ispconfig/cron.log', |
| | | '# ------------------' |
| | | ); |
| | | foreach($root_cron_jobs as $cron_job) { |
| | | if(!in_array($cron_job."\n", $existing_root_cron_jobs)) { |
| | |
| | | exec('crontab -u getmail -l > crontab.txt'); |
| | | $existing_cron_jobs = file('crontab.txt'); |
| | | |
| | | $cron_jobs = array('*/5 * * * * '.$cf['program'].' -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf > /dev/null'); |
| | | // Crontab must end with an empty line or comment! |
| | | $cron_jobs = array( |
| | | '# --- ISPConfig ----', |
| | | '*/5 * * * * '.$cf['program'].' -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf > /dev/null 2>> /var/log/var/log/ispconfig/cron.log', |
| | | '# ------------------' |
| | | ); |
| | | |
| | | // remove existing ispconfig cronjobs, in case the syntax has changed |
| | | foreach($cron_jobs as $key => $val) { |
| | |
| | | $wb['Show Mail warn-Log'] = 'Show Mail warn-Log'; |
| | | $wb['Show Mail err-Log'] = 'Show Mail err-Log'; |
| | | $wb['Show System-Log'] = 'Show System-Log'; |
| | | $wb['Show ISPC Cron-Log'] = 'Show ISPC Cron-Log'; |
| | | $wb['Show Freshclam-Log'] = 'Show Freshclam-Log'; |
| | | $wb['Show Clamav-Log'] = 'Show Clamav-Log'; |
| | | $wb['Show ISPConfig-Log'] = 'Show ISPConfig-Log'; |
| | |
| | | 'target' => 'content', |
| | | 'link' => 'monitor/show_log.php?log=log_messages'); |
| | | |
| | | $items[] = array( 'title' => "Show ISPC Cron-Log", |
| | | 'target' => 'content', |
| | | 'link' => 'monitor/show_log.php?log=log_ispc_cron'); |
| | | |
| | | $items[] = array( 'title' => "Show Freshclam-Log", |
| | | 'target' => 'content', |
| | | 'link' => 'monitor/show_log.php?log=log_freshclam'); |
| | |
| | | $logId = 'log_messages'; |
| | | $title = 'System (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | break; |
| | | case 'log_ispc_cron': |
| | | $logId = 'log_ispc_cron'; |
| | | $title = 'System (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | | break; |
| | | case 'log_freshclam': |
| | | $logId = 'log_freshclam'; |
| | | $title = 'Freshclam - Log (Server: ' . $_SESSION['monitor']['server_name'] . ')'; |
| | |
| | | $sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf["server_id"]; |
| | | $records = $app->db->queryAllRecords($sql); |
| | | foreach($records as $rec) { |
| | | $yesterday = date("mdY",time() - 86400); |
| | | $yesterday = date("Ymd",time() - 86400); |
| | | $logfile = escapeshellcmd($rec["document_root"].'/log/'.$yesterday.'-access.log'); |
| | | if(@is_file($logfile)) { |
| | | $domain = escapeshellcmd($rec["domain"]); |
| | |
| | | $sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf["server_id"]; |
| | | $records = $app->db->queryAllRecords($sql); |
| | | foreach($records as $rec) { |
| | | $yesterday = date("mdY",time() - 86400); |
| | | $yesterday = date("Ymd",time() - 86400); |
| | | $logfile = escapeshellcmd($rec["document_root"].'/log/'.$yesterday.'-access.log'); |
| | | if(@is_file($logfile)) { |
| | | // Compress yesterdays logfile |
| | |
| | | } |
| | | |
| | | // delete logfiles after 30 days |
| | | $month_ago = date("mdY",time() - 86400 * 30); |
| | | $month_ago = date("Ymd",time() - 86400 * 30); |
| | | $logfile = escapeshellcmd($rec["document_root"].'/log/'.$yesterday.'-access.log.gz'); |
| | | if(@is_file($logfile)) { |
| | | unlink($logfile); |
| | |
| | | $this->monitorMailWarnLog(); |
| | | $this->monitorMailErrLog(); |
| | | $this->monitorMessagesLog(); |
| | | $this->monitorISPCCronLog(); |
| | | $this->monitorFreshClamLog(); |
| | | $this->monitorClamAvLog(); |
| | | $this->monitorIspConfigLog(); |
| | |
| | | $this->_delOldRecords($type, 10); |
| | | } |
| | | |
| | | function monitorISPCCronLog() |
| | | { |
| | | global $app; |
| | | global $conf; |
| | | |
| | | /* the id of the server as int */ |
| | | $server_id = intval($conf["server_id"]); |
| | | |
| | | /** The type of the data */ |
| | | $type = 'log_ispc_cron'; |
| | | |
| | | /* Get the data of the log */ |
| | | $data = $this->_getLogData($type); |
| | | |
| | | /* |
| | | * actually this info has no state. |
| | | * maybe someone knows better...???... |
| | | */ |
| | | $state = 'no_state'; |
| | | |
| | | /* |
| | | Insert the data into the database |
| | | */ |
| | | $sql = "INSERT INTO monitor_data (server_id, type, created, data, state) " . |
| | | "VALUES (". |
| | | $server_id . ", " . |
| | | "'" . $app->dbmaster->quote($type) . "', " . |
| | | time() . ", " . |
| | | "'" . $app->dbmaster->quote(serialize($data)) . "', " . |
| | | "'" . $state . "'" . |
| | | ")"; |
| | | $app->dbmaster->query($sql); |
| | | |
| | | /* The new data is written, now we can delete the old one */ |
| | | $this->_delOldRecords($type, 10); |
| | | } |
| | | |
| | | function monitorFreshClamLog() |
| | | { |
| | | global $app; |
| | |
| | | case 'log_messages': |
| | | $logfile = '/var/log/messages'; |
| | | break; |
| | | case 'log_ispc_cron': |
| | | $logfile = '/var/log/ispconfig/cron.log'; |
| | | break; |
| | | case 'log_freshclam': |
| | | $logfile = '/var/log/clamav/freshclam.log'; |
| | | break; |