diff options
author | Phil Davis <phil.davis@inf.org> | 2014-12-29 12:38:28 +0545 |
---|---|---|
committer | Phil Davis <phil.davis@inf.org> | 2014-12-29 12:38:28 +0545 |
commit | 994a064416579453452054e1fee17268bbb74ab2 (patch) | |
tree | 8bed82de858bf94d4b48a7e138ef87bc6624010b /etc | |
parent | f9aed22c4ac72d98e60177315bfbc9a931baf83b (diff) | |
download | pfsense-994a064416579453452054e1fee17268bbb74ab2.zip pfsense-994a064416579453452054e1fee17268bbb74ab2.tar.gz |
Minimise config updates when checking cron jobs
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/services.inc | 20 |
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(); } ?> |