diff --git a/interface/web/admin/server_config_edit.php b/interface/web/admin/server_config_edit.php index 29384ea94162e9252b13216bf090436171ac373e..32aa270893f467ea3448a0d3940a6cc7832fec81 100644 --- a/interface/web/admin/server_config_edit.php +++ b/interface/web/admin/server_config_edit.php @@ -64,7 +64,20 @@ class page_action extends tform_actions { unset($app->tform->formDef["tabs"]["vlogger"]); } //Check if borg is installed - if (!$app->system->is_installed('borg')) { + $is_borg_installed = false; + if($this->id != $conf['server_id']) { + $mon = $app->db->queryOneRecord('SELECT `data` FROM `monitor_data` WHERE `server_id` = ? AND `type` = ? ORDER BY `created` DESC', $this->id, 'backup_utils'); + if($mon) { + $missing_utils = unserialize($mon['data']); + if($missing_utils) { + $missing_utils = $missing_utils['missing_utils']; + $is_borg_installed = ! in_array('borg', $missing_utils); + } + } + } else { + $is_borg_installed = $app->system->is_installed('borg'); + } + if ( ! $is_borg_installed) { $app->tpl->setVar('missing_utils', 'BorgBackup'); } parent::onShow(); diff --git a/server/lib/classes/cron.d/100-monitor_backup.inc.php b/server/lib/classes/cron.d/100-monitor_backup.inc.php index 40f5362082e262d43d9d62b6d139045cc0b134e9..b90290d7c3f70d9c0f73ea277672ddfa4e2684b2 100644 --- a/server/lib/classes/cron.d/100-monitor_backup.inc.php +++ b/server/lib/classes/cron.d/100-monitor_backup.inc.php @@ -63,7 +63,8 @@ class cronjob_monitor_backup extends cronjob { $type = 'backup_utils'; $missing_utils = array(); - $compressors_list = array( + $util_list = array( + 'borg', 'gzip', 'gunzip', 'zip', @@ -77,9 +78,9 @@ class cronjob_monitor_backup extends cronjob { '7z', 'rar', ); - foreach ($compressors_list as $compressor) { - if (!$app->system->is_installed($compressor)) { - $missing_utils[] = $compressor; + foreach ($util_list as $util) { + if (!$app->system->is_installed($util)) { + $missing_utils[] = $util; } }