diff --git a/scripts/classes/class.DnsBase.php b/scripts/classes/class.DnsBase.php index 5103ee0d..65753b59 100644 --- a/scripts/classes/class.DnsBase.php +++ b/scripts/classes/class.DnsBase.php @@ -162,6 +162,20 @@ abstract class DnsBase return $domains; } + public function reloadDaemon() + { + // reload DNS daemon + $cmd = Settings::Get('system.bindreload_command'); + $cmdStatus = 1; + safe_exec(escapeshellcmd($cmd), $cmdStatus); + if ($cmdStatus === 0) { + $this->_logger->logAction(CRON_ACTION, LOG_INFO, Settings::Get('system.dns_server') . ' daemon reloaded'); + } else { + $this->_logger->logAction(CRON_ACTION, LOG_ERR, 'Error while running `' . $cmd . + '`: exit code (' . $cmdStatus . ') - please check your system logs'); + } + } + public function writeDKIMconfigs() { if (Settings::Get('dkim.use_dkim') == '1') { diff --git a/scripts/jobs/cron_tasks.inc.dns.10.bind.php b/scripts/jobs/cron_tasks.inc.dns.10.bind.php index 091cc6ce..06fbc9c8 100644 --- a/scripts/jobs/cron_tasks.inc.dns.10.bind.php +++ b/scripts/jobs/cron_tasks.inc.dns.10.bind.php @@ -56,10 +56,7 @@ class bind extends DnsBase fwrite($bindconf_file_handler, $this->_bindconf_file); fclose($bindconf_file_handler); $this->_logger->logAction(CRON_ACTION, LOG_INFO, 'froxlor_bind.conf written'); - safe_exec(escapeshellcmd(Settings::Get('system.bindreload_command'))); - $this->_logger->logAction(CRON_ACTION, LOG_INFO, 'Bind9 reloaded'); - $domains_dir = makeCorrectDir(Settings::Get('system.bindconf_directory') . '/domains/'); - + $this->reloadDaemon(); $this->_logger->logAction(CRON_ACTION, LOG_INFO, 'Task4 finished'); } diff --git a/scripts/jobs/cron_tasks.inc.dns.20.pdns.php b/scripts/jobs/cron_tasks.inc.dns.20.pdns.php index d0d59ee0..15844c71 100644 --- a/scripts/jobs/cron_tasks.inc.dns.20.pdns.php +++ b/scripts/jobs/cron_tasks.inc.dns.20.pdns.php @@ -47,11 +47,9 @@ class pdns extends DnsBase $this->walkDomainList($domain, $domains); } - $this->_logger->logAction(CRON_ACTION, LOG_INFO, 'Database updated'); - - // reload Bind - safe_exec(escapeshellcmd(Settings::Get('system.bindreload_command'))); - $this->_logger->logAction(CRON_ACTION, LOG_INFO, 'pdns reloaded'); + $this->_logger->logAction(CRON_ACTION, LOG_INFO, 'PowerDNS database updated'); + $this->reloadDaemon(); + $this->_logger->logAction(CRON_ACTION, LOG_INFO, 'Task4 finished'); } private function walkDomainList($domain, $domains)