From 09f40cb706f90838eb7fe8469168f8606842651f Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Sat, 6 May 2023 23:39:28 +0200 Subject: [PATCH 1/5] Add a util function running_on_master() to improve code readablility --- server/lib/app.inc.php | 10 ++++++++++ server/lib/classes/cron.d/200-logfiles.inc.php | 2 +- server/lib/classes/cron.d/300-quota_notify.inc.php | 8 ++++---- server/lib/classes/cron.d/400-openvz.inc.php | 2 +- server/plugins-available/bind_plugin.inc.php | 4 ++-- server/plugins-available/powerdns_plugin.inc.php | 2 +- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php index b6adb3a102..870b6fece3 100644 --- a/server/lib/app.inc.php +++ b/server/lib/app.inc.php @@ -354,6 +354,16 @@ class app { $this->log($msg, 3); // isn't this supposed to be error code 2? (gwyneth 20220315) die($msg); } + + /** + * Determin if the current process is running on the master or a slave server. + * + * @return boolean + */ + function running_on_master() { + + return $this->dbmaster == $this->db; + } } /** diff --git a/server/lib/classes/cron.d/200-logfiles.inc.php b/server/lib/classes/cron.d/200-logfiles.inc.php index ef0bbb1201..abc4af68bd 100644 --- a/server/lib/classes/cron.d/200-logfiles.inc.php +++ b/server/lib/classes/cron.d/200-logfiles.inc.php @@ -226,7 +226,7 @@ class cronjob_logfiles extends cronjob { // Cleanup logs in master database (only the "master-server") //###################################################################################################### - if ($app->dbmaster == $app->db) { + if ($app->running_on_master()) { /** 7 days */ diff --git a/server/lib/classes/cron.d/300-quota_notify.inc.php b/server/lib/classes/cron.d/300-quota_notify.inc.php index 2d8ddc5b86..a616047b19 100644 --- a/server/lib/classes/cron.d/300-quota_notify.inc.php +++ b/server/lib/classes/cron.d/300-quota_notify.inc.php @@ -75,7 +75,7 @@ class cronjob_quota_notify extends cronjob { // enforce traffic quota (run only on the "master-server") //###################################################################################################### - if ($app->dbmaster == $app->db) { + if ($app->running_on_master()) { $global_config = $app->getconf->get_global_config('mail'); @@ -159,7 +159,7 @@ class cronjob_quota_notify extends cronjob { // send website quota warnings by email //###################################################################################################### - if ($app->dbmaster == $app->db) { + if ($app->running_on_master()) { $global_config = $app->getconf->get_global_config('mail'); @@ -315,7 +315,7 @@ class cronjob_quota_notify extends cronjob { // send mail quota warnings by email //###################################################################################################### - if ($app->dbmaster == $app->db) { + if ($app->running_on_master()) { $global_config = $app->getconf->get_global_config('mail'); $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); @@ -453,7 +453,7 @@ class cronjob_quota_notify extends cronjob { // send database quota warnings by email //###################################################################################################### - if ($app->dbmaster == $app->db) { + if ($app->running_on_master()) { $global_config = $app->getconf->get_global_config('mail'); diff --git a/server/lib/classes/cron.d/400-openvz.inc.php b/server/lib/classes/cron.d/400-openvz.inc.php index c88e0e608f..75a1a333f9 100644 --- a/server/lib/classes/cron.d/400-openvz.inc.php +++ b/server/lib/classes/cron.d/400-openvz.inc.php @@ -54,7 +54,7 @@ class cronjob_openvz extends cronjob { // deactivate virtual servers (run only on the "master-server") //###################################################################################################### - if ($app->dbmaster == $app->db) { + if ($app->running_on_master()) { //* Check which virtual machines have to be deactivated $sql = "SELECT * FROM openvz_vm WHERE active = 'y' AND active_until_date IS NOT NULL AND active_until_date < CURDATE()"; $records = $app->db->queryAllRecords($sql); diff --git a/server/plugins-available/bind_plugin.inc.php b/server/plugins-available/bind_plugin.inc.php index 2a5ccca269..0952f40f2b 100644 --- a/server/plugins-available/bind_plugin.inc.php +++ b/server/plugins-available/bind_plugin.inc.php @@ -189,7 +189,7 @@ class bind_plugin { } } - if ($app->dbmaster !== $app->db) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id'])); + if (!$app->running_on_master()) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id'])); $app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id'])); } @@ -244,7 +244,7 @@ class bind_plugin { unlink($dns_config['bind_zonefiles_dir'].'/'.$dns_config['bind_zonefiles_masterprefix'].$domain.'.signed'); unlink($dns_config['bind_keyfiles_dir'].'/dsset-'.$domain.'.'); - if ($app->dbmaster !== $app->db) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id'])); + if (!$app->running_on_master()) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id'])); $app->db->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id'])); } diff --git a/server/plugins-available/powerdns_plugin.inc.php b/server/plugins-available/powerdns_plugin.inc.php index 82240f106d..1221c3bc56 100644 --- a/server/plugins-available/powerdns_plugin.inc.php +++ b/server/plugins-available/powerdns_plugin.inc.php @@ -546,7 +546,7 @@ class powerdns_plugin { $dnssec_info = array_merge($this->format_dnssec_pubkeys($pubkeys), array('', '== Raw log ============================'), $log); $dnssec_info = implode("\r\n", $dnssec_info); - if ($app->dbmaster !== $app->db) { + if (!$app->running_on_master()) { $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'Y', intval($data['new']['id'])); } $app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'Y', intval($data['new']['id'])); -- GitLab From 32719b7de91420dbef2dc47ab9be0560dc40ce3c Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Sun, 7 May 2023 11:19:41 +0200 Subject: [PATCH 2/5] Three more uses of running_on_master() --- server/lib/classes/aps_installer.inc.php | 2 +- server/plugins-available/powerdns_plugin.inc.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/lib/classes/aps_installer.inc.php b/server/lib/classes/aps_installer.inc.php index e50c601cec..7093b1657e 100644 --- a/server/lib/classes/aps_installer.inc.php +++ b/server/lib/classes/aps_installer.inc.php @@ -693,7 +693,7 @@ class ApsInstaller extends ApsBase { $app->db->query('DELETE FROM aps_instances WHERE id = ?', $task['instance_id']); $app->db->query('DELETE FROM aps_instances_settings WHERE instance_id = ?', $task['instance_id']); - if ($app->dbmaster != $app->db) { + if (!$app->running_on_master()) { $app->dbmaster->query('DELETE FROM aps_instances WHERE id = ?', $task['instance_id']); $app->dbmaster->query('DELETE FROM aps_instances_settings WHERE instance_id = ?', $task['instance_id']); } diff --git a/server/plugins-available/powerdns_plugin.inc.php b/server/plugins-available/powerdns_plugin.inc.php index 1221c3bc56..618e00c2da 100644 --- a/server/plugins-available/powerdns_plugin.inc.php +++ b/server/plugins-available/powerdns_plugin.inc.php @@ -649,7 +649,7 @@ class powerdns_plugin { $log[] = sprintf("\r\n%s %s", date('c'), 'Running disable-dnssec command...'); exec($cmd_disable_dnssec, $log); - if ($app->dbmaster !== $app->db) { + if (!$app->running_on_master()) { $app->dbmaster->query('UPDATE dns_soa SET dnssec_initialized=? WHERE id=?', 'N', intval($data['new']['id'])); } $app->db->query('UPDATE dns_soa SET dnssec_initialized=? WHERE id=?', 'N', intval($data['new']['id'])); @@ -680,7 +680,7 @@ class powerdns_plugin { $dnssec_info = array_merge(array('== Raw log ============================'), $log); $dnssec_info = implode("\r\n", $dnssec_info); - if ($app->dbmaster !== $app->db) { + if (!$app->running_on_master()) { $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'N', intval($data['new']['id'])); } $app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'N', intval($data['new']['id'])); -- GitLab From 1b4c1f3ba273f19e99ae3372d5d3936d328b27c7 Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Sun, 7 May 2023 11:43:33 +0200 Subject: [PATCH 3/5] Add a util function running_on_slaveserver() to improve code readablility --- server/lib/app.inc.php | 10 ++++++++++ server/lib/classes/backup.inc.php | 14 +++++++------- server/lib/classes/cron.d/500-backup_mail.inc.php | 8 ++++---- server/lib/classes/cron.d/550-bind_dnssec.inc.php | 2 +- server/lib/classes/modules.inc.php | 2 +- server/plugins-available/apache2_plugin.inc.php | 2 +- server/plugins-available/backup_plugin.inc.php | 2 +- server/plugins-available/mail_plugin.inc.php | 4 ++-- server/plugins-available/nginx_plugin.inc.php | 2 +- 9 files changed, 28 insertions(+), 18 deletions(-) diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php index 870b6fece3..f5a036d789 100644 --- a/server/lib/app.inc.php +++ b/server/lib/app.inc.php @@ -364,6 +364,16 @@ class app { return $this->dbmaster == $this->db; } + + /** + * Determin if the current process is running on the master or a slave server. + * + * @return boolean + */ + function running_on_slaveserver() { + + return $this->dbmaster != $this->db; + } } /** diff --git a/server/lib/classes/backup.inc.php b/server/lib/classes/backup.inc.php index 57f264ec44..a0c15129d3 100644 --- a/server/lib/classes/backup.inc.php +++ b/server/lib/classes/backup.inc.php @@ -504,7 +504,7 @@ class backup if ($success) { $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; $app->db->query($sql, $server_id, $domain_id, $filename); - if($app->db->dbHost != $app->dbmaster->dbHost) + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $server_id, $domain_id, $filename); $app->log($sql . ' - ' . json_encode([$server_id, $domain_id, $filename]), LOGLEVEL_DEBUG); } @@ -1126,7 +1126,7 @@ class backup $password = NULL; $db_list = array($app->db); - if ($app->db->dbHost != $app->dbmaster->dbHost) + if ($app->running_on_slaveserver()) array_push($db_list, $app->dbmaster); if ($backup_mode == "userzip" || $backup_mode == "rootgz") { @@ -1256,7 +1256,7 @@ class backup } $db_list = array($app->db); - if ($app->db->dbHost != $app->dbmaster->dbHost) + if ($app->running_on_slaveserver()) array_push($db_list, $app->dbmaster); // Cleanup web_backup entries for non-existent backup files @@ -1776,7 +1776,7 @@ class backup //* password is for `Encrypted` column informative purposes, on download password is obtained from web_domain settings $password = $repos_password ? '*secret*' : ''; $app->db->query($sql, $server_id, $domain_id, 'mysql', $backup_mode, $backup_format_db, time(), $db_backup_archive, $archive_size, $password); - if ($app->db->dbHost != $app->dbmaster->dbHost) + if ($app->running_on_slaveserver()) $app->dbmaster->query($sql, $server_id, $domain_id, 'mysql', $backup_mode, $backup_format_db, time(), $db_backup_archive, $archive_size, $password); $success = true; } else { @@ -1832,7 +1832,7 @@ class backup //Making compatible with previous versions of ISPConfig: $sql_mode = ($backup_format_db == 'gzip') ? 'sqlgz' : ('sql' . $backup_format_db); $app->db->query($sql, $server_id, $domain_id, 'mysql', $sql_mode, $backup_format_db, time(), $db_compressed_file, $file_size, $password); - if ($app->db->dbHost != $app->dbmaster->dbHost) + if ($app->running_on_slaveserver()) $app->dbmaster->query($sql, $server_id, $domain_id, 'mysql', $sql_mode, $backup_format_db, time(), $db_compressed_file, $file_size, $password); $success = true; } @@ -1982,7 +1982,7 @@ class backup $sql = "INSERT INTO web_backup (server_id, parent_domain_id, backup_type, backup_mode, backup_format, tstamp, filename, filesize, backup_password) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; $backup_time = time(); $app->db->query($sql, $server_id, $web_id, 'web', $backup_mode, $backup_format_web, $backup_time, $web_backup_archive, $archive_size, $password); - if ($app->db->dbHost != $app->dbmaster->dbHost) + if ($app->running_on_slaveserver()) $app->dbmaster->query($sql, $server_id, $web_id, 'web', $backup_mode, $backup_format_web, $backup_time, $web_backup_archive, $archive_size, $password); unset($archive_size); $app->log('Backup of web files for domain ' . $web_domain['domain'] . ' completed successfully to archive ' . $full_archive_path, LOGLEVEL_DEBUG); @@ -2004,7 +2004,7 @@ class backup $file_size = filesize($full_filename); $sql = "INSERT INTO web_backup (server_id, parent_domain_id, backup_type, backup_mode, backup_format, tstamp, filename, filesize, backup_password) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; $app->db->query($sql, $server_id, $web_id, 'web', $backup_mode, $backup_format_web, time(), $web_backup_file, $file_size, $password); - if ($app->db->dbHost != $app->dbmaster->dbHost) + if ($app->running_on_slaveserver()) $app->dbmaster->query($sql, $server_id, $web_id, 'web', $backup_mode, $backup_format_web, time(), $web_backup_file, $file_size, $password); unset($file_size); $app->log('Backup of web files for domain ' . $web_domain['domain'] . ' completed successfully to file ' . $full_filename, LOGLEVEL_DEBUG); diff --git a/server/lib/classes/cron.d/500-backup_mail.inc.php b/server/lib/classes/cron.d/500-backup_mail.inc.php index 4dcb199414..92051fa4f2 100644 --- a/server/lib/classes/cron.d/500-backup_mail.inc.php +++ b/server/lib/classes/cron.d/500-backup_mail.inc.php @@ -184,7 +184,7 @@ class cronjob_backup_mail extends cronjob { $filesize = filesize($mail_backup_dir.'/'.$mail_backup_file); $sql = "INSERT INTO mail_backup (server_id, parent_domain_id, mailuser_id, backup_mode, tstamp, filename, filesize) VALUES (?, ?, ?, ?, ?, ?, ?)"; $app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id'], $backup_mode, time(), $mail_backup_file, $filesize); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id'], $backup_mode, time(), $mail_backup_file, $filesize); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id'], $backup_mode, time(), $mail_backup_file, $filesize); unset($filesize); } else { /* Backup failed - remove archive */ @@ -213,7 +213,7 @@ class cronjob_backup_mail extends cronjob { unlink($mail_backup_dir.'/'.$files[$n]); $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; $app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $files[$n]); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $files[$n]); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $files[$n]); } } unset($files); @@ -241,7 +241,7 @@ class cronjob_backup_mail extends cronjob { /* remove backups from db */ $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?"; $app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']); } } @@ -254,7 +254,7 @@ class cronjob_backup_mail extends cronjob { if(!is_file($mail_backup_dir.'/'.$backup['filename'])){ $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; $app->db->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']); } } } diff --git a/server/lib/classes/cron.d/550-bind_dnssec.inc.php b/server/lib/classes/cron.d/550-bind_dnssec.inc.php index b066cb816e..6c85902bac 100644 --- a/server/lib/classes/cron.d/550-bind_dnssec.inc.php +++ b/server/lib/classes/cron.d/550-bind_dnssec.inc.php @@ -78,7 +78,7 @@ class cronjob_bind_dnssec extends cronjob { global $app, $conf; //* job should only run on ispc master - if($app->db->dbHost != $app->dbmaster->dbHost) return; + if($app->running_on_slaveserver()) return; //* Load libraries $app->uses("getconf,tpl"); diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php index 9b92199fd8..12277987ff 100644 --- a/server/lib/classes/modules.inc.php +++ b/server/lib/classes/modules.inc.php @@ -100,7 +100,7 @@ class modules { global $app, $conf; //* If its a multiserver setup - if($app->db->dbHost != $app->dbmaster->dbHost || ($app->db->dbHost == $app->dbmaster->dbHost && $app->db->dbName != $app->dbmaster->dbName)) { + if($app->running_on_slaveserver() || ($app->running_on_master() && $app->db->dbName != $app->dbmaster->dbName)) { if($conf['mirror_server_id'] > 0) { $sql = "SELECT * FROM sys_datalog WHERE datalog_id > ? AND (server_id = ? OR server_id = ? OR server_id = 0) ORDER BY datalog_id LIMIT 0,1000"; } else { diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index dc0df3005c..ed86d4ce7f 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -2411,7 +2411,7 @@ class apache2_plugin { //* cleanup database $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename LIKE ?"; $app->db->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%"); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%"); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%"); $app->log('Deleted the web backup files', LOGLEVEL_DEBUG); } diff --git a/server/plugins-available/backup_plugin.inc.php b/server/plugins-available/backup_plugin.inc.php index 8ba345b4c4..0c407f0243 100644 --- a/server/plugins-available/backup_plugin.inc.php +++ b/server/plugins-available/backup_plugin.inc.php @@ -288,7 +288,7 @@ class backup_plugin { unlink($mail_backup_file); $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; $app->db->query($sql, $conf['server_id'], $mail_backup['parent_domain_id'], $mail_backup['filename']); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $mail_backup['parent_domain_id'], $mail_backup['filename']); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $mail_backup['parent_domain_id'], $mail_backup['filename']); $app->log('unlink '.$backup_dir.'/'.$mail_backup['filename'], LOGLEVEL_DEBUG); } } diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php index 08439fe798..b8ffd40fbf 100644 --- a/server/plugins-available/mail_plugin.inc.php +++ b/server/plugins-available/mail_plugin.inc.php @@ -466,7 +466,7 @@ class mail_plugin { //* cleanup database $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?"; $app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']); $app->log('Deleted the mail backups for: '.$data['old']['email'], LOGLEVEL_DEBUG); } @@ -524,7 +524,7 @@ class mail_plugin { //* cleanup database $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ?"; $app->db->query($sql, $conf['server_id'], $data['old']['domain_id']); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id']); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id']); $app->log('Deleted the mail backup directory: '.$mail_backup_dir, LOGLEVEL_DEBUG); } diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index 78144e7bfb..6bc5a5556c 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -2398,7 +2398,7 @@ class nginx_plugin { //* cleanup database $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename LIKE ?"; $app->db->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%"); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%"); + if($app->running_on_slaveserver()) $app->dbmaster->query($sql, $conf['server_id'], $data_old['domain_id'], "web".$data_old['domain_id']."_%"); $app->log('Deleted the web backup files', LOGLEVEL_DEBUG); } -- GitLab From cf2911194d7478747ac135c6c742cbfbb4f7cf0f Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Sun, 7 May 2023 11:53:17 +0200 Subject: [PATCH 4/5] Rename running_on_master to running_on_masterserver --- server/lib/app.inc.php | 2 +- server/lib/classes/aps_installer.inc.php | 2 +- server/lib/classes/cron.d/200-logfiles.inc.php | 2 +- server/lib/classes/cron.d/300-quota_notify.inc.php | 8 ++++---- server/lib/classes/cron.d/400-openvz.inc.php | 2 +- server/lib/classes/modules.inc.php | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php index f5a036d789..940e0cae81 100644 --- a/server/lib/app.inc.php +++ b/server/lib/app.inc.php @@ -360,7 +360,7 @@ class app { * * @return boolean */ - function running_on_master() { + function running_on_masterserver() { return $this->dbmaster == $this->db; } diff --git a/server/lib/classes/aps_installer.inc.php b/server/lib/classes/aps_installer.inc.php index 7093b1657e..a9271dd175 100644 --- a/server/lib/classes/aps_installer.inc.php +++ b/server/lib/classes/aps_installer.inc.php @@ -693,7 +693,7 @@ class ApsInstaller extends ApsBase { $app->db->query('DELETE FROM aps_instances WHERE id = ?', $task['instance_id']); $app->db->query('DELETE FROM aps_instances_settings WHERE instance_id = ?', $task['instance_id']); - if (!$app->running_on_master()) { + if (!$app->running_on_masterserver()) { $app->dbmaster->query('DELETE FROM aps_instances WHERE id = ?', $task['instance_id']); $app->dbmaster->query('DELETE FROM aps_instances_settings WHERE instance_id = ?', $task['instance_id']); } diff --git a/server/lib/classes/cron.d/200-logfiles.inc.php b/server/lib/classes/cron.d/200-logfiles.inc.php index abc4af68bd..b87798c29e 100644 --- a/server/lib/classes/cron.d/200-logfiles.inc.php +++ b/server/lib/classes/cron.d/200-logfiles.inc.php @@ -226,7 +226,7 @@ class cronjob_logfiles extends cronjob { // Cleanup logs in master database (only the "master-server") //###################################################################################################### - if ($app->running_on_master()) { + if ($app->running_on_masterserver()) { /** 7 days */ diff --git a/server/lib/classes/cron.d/300-quota_notify.inc.php b/server/lib/classes/cron.d/300-quota_notify.inc.php index a616047b19..7f32192b3f 100644 --- a/server/lib/classes/cron.d/300-quota_notify.inc.php +++ b/server/lib/classes/cron.d/300-quota_notify.inc.php @@ -75,7 +75,7 @@ class cronjob_quota_notify extends cronjob { // enforce traffic quota (run only on the "master-server") //###################################################################################################### - if ($app->running_on_master()) { + if ($app->running_on_masterserver()) { $global_config = $app->getconf->get_global_config('mail'); @@ -159,7 +159,7 @@ class cronjob_quota_notify extends cronjob { // send website quota warnings by email //###################################################################################################### - if ($app->running_on_master()) { + if ($app->running_on_masterserver()) { $global_config = $app->getconf->get_global_config('mail'); @@ -315,7 +315,7 @@ class cronjob_quota_notify extends cronjob { // send mail quota warnings by email //###################################################################################################### - if ($app->running_on_master()) { + if ($app->running_on_masterserver()) { $global_config = $app->getconf->get_global_config('mail'); $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); @@ -453,7 +453,7 @@ class cronjob_quota_notify extends cronjob { // send database quota warnings by email //###################################################################################################### - if ($app->running_on_master()) { + if ($app->running_on_masterserver()) { $global_config = $app->getconf->get_global_config('mail'); diff --git a/server/lib/classes/cron.d/400-openvz.inc.php b/server/lib/classes/cron.d/400-openvz.inc.php index 75a1a333f9..cad8716605 100644 --- a/server/lib/classes/cron.d/400-openvz.inc.php +++ b/server/lib/classes/cron.d/400-openvz.inc.php @@ -54,7 +54,7 @@ class cronjob_openvz extends cronjob { // deactivate virtual servers (run only on the "master-server") //###################################################################################################### - if ($app->running_on_master()) { + if ($app->running_on_masterserver()) { //* Check which virtual machines have to be deactivated $sql = "SELECT * FROM openvz_vm WHERE active = 'y' AND active_until_date IS NOT NULL AND active_until_date < CURDATE()"; $records = $app->db->queryAllRecords($sql); diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php index 12277987ff..b3aae3acf9 100644 --- a/server/lib/classes/modules.inc.php +++ b/server/lib/classes/modules.inc.php @@ -100,7 +100,7 @@ class modules { global $app, $conf; //* If its a multiserver setup - if($app->running_on_slaveserver() || ($app->running_on_master() && $app->db->dbName != $app->dbmaster->dbName)) { + if($app->running_on_slaveserver() || ($app->running_on_masterserver() && $app->db->dbName != $app->dbmaster->dbName)) { if($conf['mirror_server_id'] > 0) { $sql = "SELECT * FROM sys_datalog WHERE datalog_id > ? AND (server_id = ? OR server_id = ? OR server_id = 0) ORDER BY datalog_id LIMIT 0,1000"; } else { -- GitLab From 9f769b470158789d001fd0f758ba4f2822eec4e1 Mon Sep 17 00:00:00 2001 From: Herman van Rink Date: Sun, 7 May 2023 11:53:34 +0200 Subject: [PATCH 5/5] make more uses of running_on_slaveserver --- server/plugins-available/bind_plugin.inc.php | 4 ++-- server/plugins-available/powerdns_plugin.inc.php | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/server/plugins-available/bind_plugin.inc.php b/server/plugins-available/bind_plugin.inc.php index 0952f40f2b..5beeed2c56 100644 --- a/server/plugins-available/bind_plugin.inc.php +++ b/server/plugins-available/bind_plugin.inc.php @@ -189,7 +189,7 @@ class bind_plugin { } } - if (!$app->running_on_master()) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id'])); + if ($app->running_on_slaveserver()) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id'])); $app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=\'Y\', dnssec_last_signed=? WHERE id=?', $dnssecdata, intval(time()), intval($data['new']['id'])); } @@ -244,7 +244,7 @@ class bind_plugin { unlink($dns_config['bind_zonefiles_dir'].'/'.$dns_config['bind_zonefiles_masterprefix'].$domain.'.signed'); unlink($dns_config['bind_keyfiles_dir'].'/dsset-'.$domain.'.'); - if (!$app->running_on_master()) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id'])); + if ($app->running_on_slaveserver()) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id'])); $app->db->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id'])); } diff --git a/server/plugins-available/powerdns_plugin.inc.php b/server/plugins-available/powerdns_plugin.inc.php index 618e00c2da..456fd81162 100644 --- a/server/plugins-available/powerdns_plugin.inc.php +++ b/server/plugins-available/powerdns_plugin.inc.php @@ -546,7 +546,7 @@ class powerdns_plugin { $dnssec_info = array_merge($this->format_dnssec_pubkeys($pubkeys), array('', '== Raw log ============================'), $log); $dnssec_info = implode("\r\n", $dnssec_info); - if (!$app->running_on_master()) { + if ($app->running_on_slaveserver()) { $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'Y', intval($data['new']['id'])); } $app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'Y', intval($data['new']['id'])); @@ -649,7 +649,7 @@ class powerdns_plugin { $log[] = sprintf("\r\n%s %s", date('c'), 'Running disable-dnssec command...'); exec($cmd_disable_dnssec, $log); - if (!$app->running_on_master()) { + if ($app->running_on_slaveserver()) { $app->dbmaster->query('UPDATE dns_soa SET dnssec_initialized=? WHERE id=?', 'N', intval($data['new']['id'])); } $app->db->query('UPDATE dns_soa SET dnssec_initialized=? WHERE id=?', 'N', intval($data['new']['id'])); @@ -680,7 +680,7 @@ class powerdns_plugin { $dnssec_info = array_merge(array('== Raw log ============================'), $log); $dnssec_info = implode("\r\n", $dnssec_info); - if (!$app->running_on_master()) { + if ($app->running_on_slaveserver()) { $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'N', intval($data['new']['id'])); } $app->db->query('UPDATE dns_soa SET dnssec_info=?, dnssec_initialized=? WHERE id=?', $dnssec_info, 'N', intval($data['new']['id'])); -- GitLab