Commit 641cb3bc authored by redray's avatar redray

cron errors got to logfile now and are available in monitor-section

parent 70cc7d0f
...@@ -1042,9 +1042,12 @@ class installer_base { ...@@ -1042,9 +1042,12 @@ class installer_base {
if(stristr($val,'/usr/local/ispconfig')) unset($existing_root_cron_jobs[$key]); 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( $root_cron_jobs = array(
'* * * * * /usr/local/ispconfig/server/server.sh > /dev/null', '# --- ISPConfig ----',
'30 00 * * * /usr/local/ispconfig/server/cron_daily.sh > /dev/null' '* * * * * /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) { foreach($root_cron_jobs as $cron_job) {
if(!in_array($cron_job."\n", $existing_root_cron_jobs)) { if(!in_array($cron_job."\n", $existing_root_cron_jobs)) {
...@@ -1061,7 +1064,12 @@ class installer_base { ...@@ -1061,7 +1064,12 @@ class installer_base {
exec('crontab -u getmail -l > crontab.txt'); exec('crontab -u getmail -l > crontab.txt');
$existing_cron_jobs = file('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 // remove existing ispconfig cronjobs, in case the syntax has changed
foreach($cron_jobs as $key => $val) { foreach($cron_jobs as $key => $val) {
......
...@@ -35,6 +35,7 @@ $wb['Show Mail-Log'] = 'Show Mail-Log'; ...@@ -35,6 +35,7 @@ $wb['Show Mail-Log'] = 'Show Mail-Log';
$wb['Show Mail warn-Log'] = 'Show Mail warn-Log'; $wb['Show Mail warn-Log'] = 'Show Mail warn-Log';
$wb['Show Mail err-Log'] = 'Show Mail err-Log'; $wb['Show Mail err-Log'] = 'Show Mail err-Log';
$wb['Show System-Log'] = 'Show System-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 Freshclam-Log'] = 'Show Freshclam-Log';
$wb['Show Clamav-Log'] = 'Show Clamav-Log'; $wb['Show Clamav-Log'] = 'Show Clamav-Log';
$wb['Show ISPConfig-Log'] = 'Show ISPConfig-Log'; $wb['Show ISPConfig-Log'] = 'Show ISPConfig-Log';
......
...@@ -134,6 +134,10 @@ $items[] = array( 'title' => "Show System-Log", ...@@ -134,6 +134,10 @@ $items[] = array( 'title' => "Show System-Log",
'target' => 'content', 'target' => 'content',
'link' => 'monitor/show_log.php?log=log_messages'); '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", $items[] = array( 'title' => "Show Freshclam-Log",
'target' => 'content', 'target' => 'content',
'link' => 'monitor/show_log.php?log=log_freshclam'); 'link' => 'monitor/show_log.php?log=log_freshclam');
......
...@@ -64,6 +64,10 @@ switch($logParam) { ...@@ -64,6 +64,10 @@ switch($logParam) {
$logId = 'log_messages'; $logId = 'log_messages';
$title = 'System (Server: ' . $_SESSION['monitor']['server_name'] . ')'; $title = 'System (Server: ' . $_SESSION['monitor']['server_name'] . ')';
break; break;
case 'log_ispc_cron':
$logId = 'log_ispc_cron';
$title = 'System (Server: ' . $_SESSION['monitor']['server_name'] . ')';
break;
case 'log_freshclam': case 'log_freshclam':
$logId = 'log_freshclam'; $logId = 'log_freshclam';
$title = 'Freshclam - Log (Server: ' . $_SESSION['monitor']['server_name'] . ')'; $title = 'Freshclam - Log (Server: ' . $_SESSION['monitor']['server_name'] . ')';
......
...@@ -91,7 +91,7 @@ foreach($records as $rec) { ...@@ -91,7 +91,7 @@ foreach($records as $rec) {
$sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf["server_id"]; $sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf["server_id"];
$records = $app->db->queryAllRecords($sql); $records = $app->db->queryAllRecords($sql);
foreach($records as $rec) { foreach($records as $rec) {
$yesterday = date("mdY",time() - 86400); $yesterday = date("Ymd",time() - 86400);
$logfile = escapeshellcmd($rec["document_root"].'/log/'.$yesterday.'-access.log'); $logfile = escapeshellcmd($rec["document_root"].'/log/'.$yesterday.'-access.log');
if(@is_file($logfile)) { if(@is_file($logfile)) {
$domain = escapeshellcmd($rec["domain"]); $domain = escapeshellcmd($rec["domain"]);
...@@ -110,7 +110,7 @@ foreach($records as $rec) { ...@@ -110,7 +110,7 @@ foreach($records as $rec) {
$sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf["server_id"]; $sql = "SELECT domain_id, domain, document_root FROM web_domain WHERE server_id = ".$conf["server_id"];
$records = $app->db->queryAllRecords($sql); $records = $app->db->queryAllRecords($sql);
foreach($records as $rec) { foreach($records as $rec) {
$yesterday = date("mdY",time() - 86400); $yesterday = date("Ymd",time() - 86400);
$logfile = escapeshellcmd($rec["document_root"].'/log/'.$yesterday.'-access.log'); $logfile = escapeshellcmd($rec["document_root"].'/log/'.$yesterday.'-access.log');
if(@is_file($logfile)) { if(@is_file($logfile)) {
// Compress yesterdays logfile // Compress yesterdays logfile
...@@ -118,7 +118,7 @@ foreach($records as $rec) { ...@@ -118,7 +118,7 @@ foreach($records as $rec) {
} }
// delete logfiles after 30 days // 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'); $logfile = escapeshellcmd($rec["document_root"].'/log/'.$yesterday.'-access.log.gz');
if(@is_file($logfile)) { if(@is_file($logfile)) {
unlink($logfile); unlink($logfile);
......
...@@ -113,6 +113,7 @@ class monitor_core_module { ...@@ -113,6 +113,7 @@ class monitor_core_module {
$this->monitorMailWarnLog(); $this->monitorMailWarnLog();
$this->monitorMailErrLog(); $this->monitorMailErrLog();
$this->monitorMessagesLog(); $this->monitorMessagesLog();
$this->monitorISPCCronLog();
$this->monitorFreshClamLog(); $this->monitorFreshClamLog();
$this->monitorClamAvLog(); $this->monitorClamAvLog();
$this->monitorIspConfigLog(); $this->monitorIspConfigLog();
...@@ -937,6 +938,43 @@ function monitorMailLog() ...@@ -937,6 +938,43 @@ function monitorMailLog()
$this->_delOldRecords($type, 10); $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() function monitorFreshClamLog()
{ {
global $app; global $app;
...@@ -1092,6 +1130,9 @@ function monitorMailLog() ...@@ -1092,6 +1130,9 @@ function monitorMailLog()
case 'log_messages': case 'log_messages':
$logfile = '/var/log/messages'; $logfile = '/var/log/messages';
break; break;
case 'log_ispc_cron':
$logfile = '/var/log/ispconfig/cron.log';
break;
case 'log_freshclam': case 'log_freshclam':
$logfile = '/var/log/clamav/freshclam.log'; $logfile = '/var/log/clamav/freshclam.log';
break; break;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment