diff options
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | debian/sitesummary-client.cron.daily | 32 | ||||
-rw-r--r-- | sitesummary-client | 15 |
3 files changed, 33 insertions, 16 deletions
diff --git a/debian/changelog b/debian/changelog index 5821205..9289246 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,8 @@ sitesummary (0.0.28) unstable; urgency=low [ Petter Reinholdtsen ] * Make sure the server cron job handle a removed but not purged package. (Closes: #445604) + * Move random sleep from the report script and into the cron script, + to make it possible to report imediately from a client. -- Petter Reinholdtsen <pere@debian.org> Fri, 12 Oct 2007 17:44:02 +0200 diff --git a/debian/sitesummary-client.cron.daily b/debian/sitesummary-client.cron.daily index 9852f8b..5a94bed 100644 --- a/debian/sitesummary-client.cron.daily +++ b/debian/sitesummary-client.cron.daily @@ -2,5 +2,35 @@ # # Author: Petter Reinholdtsen +[ -x /usr/sbin/sitesummary-client ] || exit 0 + +# Read the package default. Make sure this is identical to the code +# in sitesummar-client +[ -f /usr/share/sitesummary/sitesummary-client.conf ] && \ + . /usr/share/sitesummary/sitesummary-client.conf +for confdir in \ + /usr/share/sitesummary/config.d \ + /etc/sitesummary/config.d +do + [ -d $confdir ] || continue + for config in $confdir/* ; do + [ -f $config ] && . $config + done +done + +# Sleep a random number of seconds to avoid all clients connecting to +# the server at the same time. Based on code from the cron-apt +# package. +if [ -n "$runsleep" ] ; then + if [ $runsleep -gt 0 ] ; then + if [ -z "$RANDOM" ] ; then + # A fix for shells that do not have this bash feature. + RANDOM=$(dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -c"1-5") + fi + TIME=$(($RANDOM % $runsleep)) + sleep $TIME + fi +fi + # Run once a day to report the whereabouts of the machine -[ -x /usr/sbin/sitesummary-client ] && nice /usr/sbin/sitesummary-client +nice /usr/sbin/sitesummary-client diff --git a/sitesummary-client b/sitesummary-client index 44e416b..9e53e1f 100644 --- a/sitesummary-client +++ b/sitesummary-client @@ -53,21 +53,6 @@ do done done -# Sleep a random number of seconds to avoid all clients connecting to -# the server at the same time. Based on code from the cron-apt -# package. -if [ -n "$runsleep" ] ; then - if [ $runsleep -gt 0 ] ; then - if [ -z "$RANDOM" ] ; then - # A fix for shells that do not have this bash feature. - RANDOM=$(dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -c"1-5") - fi - TIME=$(($RANDOM % $runsleep)) - sleep $TIME - fi -fi - - mkdir $tmpdir && cd $tmpdir for fragdir in $fragdirs ; do |