Use "nice" to lower the priority of the AWStats processes when updating databases and generating static html reports from cron.

Ken Neighbors ken at nsds.com
Thu Apr 29 05:34:27 UTC 2010


---
 debian/buildstatic.sh  |    3 ++-
 debian/default/awstats |    5 +++++
 debian/update.sh       |    4 +++-
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/debian/buildstatic.sh b/debian/buildstatic.sh
index ca09cc7..8af4c83 100755
--- a/debian/buildstatic.sh
+++ b/debian/buildstatic.sh
@@ -14,6 +14,7 @@ BUILDSTATICPAGES=/usr/share/awstats/tools/awstats_buildstaticpages.pl
 [ -f $AWSTATS -a -f $BUILDSTATICPAGES ] || exit 1
 [ -r "$DEFAULT" ] && . "$DEFAULT"
 
+NICE=${AWSTATS_NICE:-10}
 ENABLE=${AWSTATS_ENABLE_BUILDSTATICPAGES:-no}
 if [ "$ENABLE" != "yes" ]; then
   exit 0
@@ -30,7 +31,7 @@ do
   m=`date +%m`
   mkdir -p /var/cache/awstats/$c/$Y/$m/
   AL=${AWSTATS_LANG:-en}
-  if ! $BUILDSTATICPAGES \
+  if ! nice -n $NICE $BUILDSTATICPAGES \
     -config=$c \
 	-year=$Y \
 	-month=$m \
diff --git a/debian/default/awstats b/debian/default/awstats
index d8830cc..ac8c320 100644
--- a/debian/default/awstats
+++ b/debian/default/awstats
@@ -1,5 +1,10 @@
 # AWStats configuration options
 
+# This variable controls the scheduling priority for updating AWStats
+# datafiles and for generating static html reports.  Normal priority
+# is 0 and a lower priority is 10.  See "man nice" for more info.
+AWSTATS_NICE=10
+
 # This variable controls whether to create static html reports every
 # night in /var/cache/awstats/.  Set to "yes" or "no".
 AWSTATS_ENABLE_BUILDSTATICPAGES="no"
diff --git a/debian/update.sh b/debian/update.sh
index 11a8e03..2dcf647 100755
--- a/debian/update.sh
+++ b/debian/update.sh
@@ -11,6 +11,8 @@ DEFAULT=/etc/default/awstats
 AWSTATS=/usr/lib/cgi-bin/awstats.pl
 
 [ -f $AWSTATS ] || exit 1
+[ -r "$DEFAULT" ] && . "$DEFAULT"
+NICE=${AWSTATS_NICE:-10}
 
 cd /etc/awstats
 
@@ -19,7 +21,7 @@ for c in awstats \
          `/bin/ls -1 awstats.*.conf 2>/dev/null | \
           /bin/sed 's/^awstats\.\(.*\)\.conf/\1/'`
 do
-  if ! $AWSTATS -config=$c -update >$TMPFILE 2>&1; then
+  if ! nice -n $NICE $AWSTATS -config=$c -update >$TMPFILE 2>&1; then
     # an error occurred
     cat $TMPFILE >&2
   fi
-- 
1.5.6.5


--------------050200040902060106070708--





More information about the Pkg-awstats-devel mailing list