From 09f4dc08477a9328a3acc75a1680b0498f29a5f0 Mon Sep 17 00:00:00 2001 From: Ramil Valitov <ramilvalitov@gmail.com> Date: Mon, 16 Mar 2020 22:22:56 +0300 Subject: [PATCH 1/3] [add] max 30 backups --- interface/web/sites/form/web_vhost_domain.tform.php | 2 +- server/lib/classes/cron.d/500-backup.inc.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/interface/web/sites/form/web_vhost_domain.tform.php b/interface/web/sites/form/web_vhost_domain.tform.php index 8b5a36441a..5c3057f685 100644 --- a/interface/web/sites/form/web_vhost_domain.tform.php +++ b/interface/web/sites/form/web_vhost_domain.tform.php @@ -668,7 +668,7 @@ if ($backup_available) { 'datatype' => 'INTEGER', 'formtype' => 'SELECT', 'default' => '', - 'value' => array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10') + 'value' => array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10', '15' => '15', '20' => '20', '30' => '30') ), 'backup_excludes' => array ( 'datatype' => 'VARCHAR', diff --git a/server/lib/classes/cron.d/500-backup.inc.php b/server/lib/classes/cron.d/500-backup.inc.php index f261daf468..d71bcc812d 100644 --- a/server/lib/classes/cron.d/500-backup.inc.php +++ b/server/lib/classes/cron.d/500-backup.inc.php @@ -177,7 +177,7 @@ class cronjob_backup extends cronjob { rsort($files); - for ($n = $backup_copies; $n <= 10; $n++) { + for ($n = $backup_copies; $n <= 30; $n++) { if(isset($files[$n]) && is_file($web_backup_dir.'/'.$files[$n])) { $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; $app->db->query($sql, $conf['server_id'], $web_id, $files[$n]); @@ -306,7 +306,7 @@ class cronjob_backup extends cronjob { reset($files); foreach($files as $db_name => $filelist) { rsort($filelist); - for ($n = $backup_copies; $n <= 10; $n++) { + for ($n = $backup_copies; $n <= 30; $n++) { if(isset($filelist[$n]) && is_file($db_backup_dir.'/'.$filelist[$n])) { $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; $app->db->query($sql, $conf['server_id'], $web_id, $filelist[$n]); -- GitLab From cbfa4d1b22309d4572aaf558709f6268644eb862 Mon Sep 17 00:00:00 2001 From: Ramil Valitov <ramilvalitov@gmail.com> Date: Fri, 20 Mar 2020 12:08:15 +0300 Subject: [PATCH 2/3] [add] single constant --- server/lib/classes/cron.d/500-backup.inc.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/lib/classes/cron.d/500-backup.inc.php b/server/lib/classes/cron.d/500-backup.inc.php index d71bcc812d..b68dd3b8e1 100644 --- a/server/lib/classes/cron.d/500-backup.inc.php +++ b/server/lib/classes/cron.d/500-backup.inc.php @@ -33,6 +33,11 @@ class cronjob_backup extends cronjob { // job schedule protected $_schedule = '0 0 * * *'; + /** + * The maximum number of backups that ISPConfig can store. + */ + const max_backups = 30; + /* this function is optional if it contains no custom code */ public function onPrepare() { global $app; @@ -177,7 +182,7 @@ class cronjob_backup extends cronjob { rsort($files); - for ($n = $backup_copies; $n <= 30; $n++) { + for ($n = $backup_copies; $n <= self::max_backups; $n++) { if(isset($files[$n]) && is_file($web_backup_dir.'/'.$files[$n])) { $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; $app->db->query($sql, $conf['server_id'], $web_id, $files[$n]); @@ -306,7 +311,7 @@ class cronjob_backup extends cronjob { reset($files); foreach($files as $db_name => $filelist) { rsort($filelist); - for ($n = $backup_copies; $n <= 30; $n++) { + for ($n = $backup_copies; $n <= self::max_backups; $n++) { if(isset($filelist[$n]) && is_file($db_backup_dir.'/'.$filelist[$n])) { $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; $app->db->query($sql, $conf['server_id'], $web_id, $filelist[$n]); -- GitLab From 51ae68fa9bb4c1b38e8e75466bbc3476decfb5ff Mon Sep 17 00:00:00 2001 From: Ramil Valitov <ramilvalitov@gmail.com> Date: Tue, 24 Mar 2020 09:15:19 +0300 Subject: [PATCH 3/3] [add] increase number of backups for mail backup --- interface/web/mail/form/mail_user.tform.php | 2 +- server/lib/classes/cron.d/500-backup_mail.inc.php | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/interface/web/mail/form/mail_user.tform.php b/interface/web/mail/form/mail_user.tform.php index da386f5844..0efc7f3d6b 100644 --- a/interface/web/mail/form/mail_user.tform.php +++ b/interface/web/mail/form/mail_user.tform.php @@ -469,7 +469,7 @@ if ($backup_available) { 'datatype' => 'INTEGER', 'formtype' => 'SELECT', 'default' => '', - 'value' => array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10') + 'value' => array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10', '15' => '15', '20' => '20', '30' => '30') ), ################################## # END Datatable fields 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 234f02771d..2b1fd58177 100644 --- a/server/lib/classes/cron.d/500-backup_mail.inc.php +++ b/server/lib/classes/cron.d/500-backup_mail.inc.php @@ -33,6 +33,11 @@ class cronjob_backup_mail extends cronjob { protected $_schedule = '0 0 * * *'; private $tmp_backup_dir = ''; + /** + * The maximum number of backups that ISPConfig can store. + */ + const max_backups = 30; + /* this function is optional if it contains no custom code */ public function onPrepare() { global $app; @@ -204,7 +209,7 @@ class cronjob_backup_mail extends cronjob { } $dir_handle->close(); rsort($files); - for ($n = $backup_copies; $n <= 10; $n++) { + for ($n = $backup_copies; $n <= self::max_backups; $n++) { if(isset($files[$n]) && is_file($mail_backup_dir.'/'.$files[$n])) { unlink($mail_backup_dir.'/'.$files[$n]); $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; -- GitLab