aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Davis <phil.davis@world.inf.org>2013-03-15 07:55:37 +0545
committerPhil Davis <phil.davis@world.inf.org>2013-03-15 07:55:37 +0545
commitdaab0f59284deb8ba91f9d87498a98846f2f87a0 (patch)
tree0fc351caa4275a592147c243896464e061fba83a
parentcbe0db0aff3429bc10115b44459f61bb570bb56d (diff)
downloadpfsense-packages-daab0f59284deb8ba91f9d87498a98846f2f87a0.tar.gz
pfsense-packages-daab0f59284deb8ba91f9d87498a98846f2f87a0.tar.bz2
pfsense-packages-daab0f59284deb8ba91f9d87498a98846f2f87a0.zip
bandwidthd - rotate log files when output_cdf is enabled
-rw-r--r--config/bandwidthd/bandwidthd.inc18
1 files changed, 16 insertions, 2 deletions
diff --git a/config/bandwidthd/bandwidthd.inc b/config/bandwidthd/bandwidthd.inc
index 47a4b1fd..4e0107eb 100644
--- a/config/bandwidthd/bandwidthd.inc
+++ b/config/bandwidthd/bandwidthd.inc
@@ -46,6 +46,8 @@ function bandwidthd_install_deinstall() {
exec("rm -f /usr/local/etc/rc.d/bandwidthd*");
exec("rm -rf " . PKG_BANDWIDTHD_BASE . "/htdocs");
exec("rm -f /usr/local/www/bandwidthd");
+ // Remove the cron job, if it is there
+ install_cron_job("/bin/kill -HUP `cat /var/run/bandwidthd.pid`", false);
conf_mount_ro();
config_unlock();
}
@@ -79,7 +81,9 @@ function bandwidthd_install_config() {
$recover_cdf = "recover_cdf true\n";
$output_cdf = $config['installedpackages']['bandwidthd']['config'][0]['outputcdf'];
if($output_cdf)
- $output_cdf = "output_cdf true\n";
+ $output_cdf_string = "output_cdf true\n";
+ else
+ $output_cdf_string = "";
$promiscuous = $config['installedpackages']['bandwidthd']['config'][0]['promiscuous'];
if($promiscuous)
$promiscuous = "promiscuous true\n";
@@ -180,7 +184,7 @@ $graph_cutoff
$promiscuous
#Log data to cdf file htdocs/log.cdf
-$output_cdf
+$output_cdf_string
#Read back the cdf file on startup
$recover_cdf
@@ -297,6 +301,16 @@ EOD;
if (!file_exists($bandwidthd_index_file)) {
exec("echo \"Please start bandwidthd to populate this directory.\" > " . $bandwidthd_index_file);
}
+
+ if($output_cdf) {
+ // Use cron job to rotate logs every day at 00:01
+ install_cron_job("/bin/kill -HUP `cat /var/run/bandwidthd.pid`", true, "1", "0");
+ }
+ else
+ {
+ // Remove the cron job, if it is there
+ install_cron_job("/bin/kill -HUP `cat /var/run/bandwidthd.pid`", false);
+ }
conf_mount_ro();
config_unlock();
stop_service("bandwidthd");