diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2007-03-28 20:10:50 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2007-03-28 20:10:50 +0000 |
commit | 9c0dd6a86cce5be9eaff8b33de12682eec022d1e (patch) | |
tree | 80adae3e95fef61eb3ea8750fcf5f17b8ae09eb5 | |
parent | 9a3b9aa0ee953d1b507d0a57cedf76f0f977a996 (diff) | |
download | pfsense-9c0dd6a86cce5be9eaff8b33de12682eec022d1e.zip pfsense-9c0dd6a86cce5be9eaff8b33de12682eec022d1e.tar.gz |
Use cron instead of minicron and reload the rules on 0,15,30,45
-rw-r--r-- | etc/inc/filter.inc | 6 | ||||
-rw-r--r-- | etc/inc/pfsense-utils.inc | 34 |
2 files changed, 37 insertions, 3 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index 9256838..0b2cd1b 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -271,10 +271,10 @@ function filter_configure_sync() { /* if time based rules are enabled then swap in the set */ if($time_based_rules == true) { - $status = intval(`ps awux | grep -v grep | grep minicron | grep filter_configure_sync | wc -l | awk '{ print $1 }'`); - if($status == "0") - exec("/usr/local/bin/minicron 900 /var/run/filter_configure_sync_minicron.pid /etc/rc.filter_configure_sync"); + tdr_install_cron(true); tdr_install_set(); + } else { + tdr_install_cron(false); } /* diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc index 8b97ed9..88019d1 100644 --- a/etc/inc/pfsense-utils.inc +++ b/etc/inc/pfsense-utils.inc @@ -37,6 +37,40 @@ function get_tmp_file() { return "/tmp/tmp-" . time(); } +function tdr_install_cron($should_install) { + global $config; + $is_installed = false; + foreach($config['cron']['item'] as $item) { + $x=0; + if(strstr($item['command'], "filter_configure_sync.sh")) { + $is_installed = true; + $x++; + } + } + switch($should_install) { + case true: + if(!$is_installed) { + $cron_item = array(); + $cron_item['minute'] = "0,15,30,45"; + $cron_item['hour'] = "*"; + $cron_item['mday'] = "*"; + $cron_item['month'] = "*"; + $cron_item['wday'] = "*"; + $cron_item['who'] = "root"; + $cron_item['command'] = "/etc/rc.filter_configure_sync.sh"; + $config['cron']['item'][] = $cron_item; + write_config("Installed 15 minute filter reload for Time Based Rules"); + configure_cron(); + } + break; + case false: + unset($config['cron']['item'][$x]); + write_config(); + configure_cron(); + break; + } +} + /****f* pfsense-utils/tdr_create_ipfw_rule * NAME * tdr_create_ipfw_rule |