summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Davis <phil.davis@inf.org>2014-12-29 12:38:28 +0545
committerPhil Davis <phil.davis@inf.org>2014-12-29 12:38:28 +0545
commit994a064416579453452054e1fee17268bbb74ab2 (patch)
tree8bed82de858bf94d4b48a7e138ef87bc6624010b
parentf9aed22c4ac72d98e60177315bfbc9a931baf83b (diff)
downloadpfsense-994a064416579453452054e1fee17268bbb74ab2.zip
pfsense-994a064416579453452054e1fee17268bbb74ab2.tar.gz
Minimise config updates when checking cron jobs
-rw-r--r--etc/inc/services.inc20
1 files changed, 17 insertions, 3 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc
index f22e646..aaa90bd 100644
--- a/etc/inc/services.inc
+++ b/etc/inc/services.inc
@@ -2363,6 +2363,7 @@ function install_cron_job($command, $active=false, $minute="0", $hour="*", $mont
global $config, $g;
$is_installed = false;
+ $cron_changed = true;
if (!is_array($config['cron']))
$config['cron'] = array();
@@ -2391,8 +2392,19 @@ function install_cron_job($command, $active=false, $minute="0", $hour="*", $mont
$config['cron']['item'][] = $cron_item;
write_config(sprintf(gettext("Installed cron job for %s"), $command));
} else {
- $config['cron']['item'][$x] = $cron_item;
- write_config(sprintf(gettext("Updated cron job for %s"), $command));
+ if (($config['cron']['item'][$x]['minute'] == $cron_item['minute']) &&
+ ($config['cron']['item'][$x]['hour'] == $cron_item['hour']) &&
+ ($config['cron']['item'][$x]['mday'] == $cron_item['mday']) &&
+ ($config['cron']['item'][$x]['month'] == $cron_item['month']) &&
+ ($config['cron']['item'][$x]['wday'] == $cron_item['wday']) &&
+ ($config['cron']['item'][$x]['who'] == $cron_item['who']) &&
+ ($config['cron']['item'][$x]['command'] == $cron_item['command'])) {
+ $cron_changed = false;
+ log_error(sprintf(gettext("Checked cron job for %s, no change needed"), $command));
+ } else {
+ $config['cron']['item'][$x] = $cron_item;
+ write_config(sprintf(gettext("Updated cron job for %s"), $command));
+ }
}
} else {
if($is_installed == true) {
@@ -2400,7 +2412,9 @@ function install_cron_job($command, $active=false, $minute="0", $hour="*", $mont
write_config(sprintf(gettext("Removed cron job for %s"), $command));
}
}
- configure_cron();
+
+ if ($cron_changed)
+ configure_cron();
}
?>
OpenPOWER on IntegriCloud