X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fsbin%2Fdsa-update-apt-status;h=8eebe1acf513914672d5cf17b996947e7c47da65;hb=8174576c2ce2f8c339ff8104ee0d7e1bcfcb86bf;hp=f8eab97e24ff4190d480e988c7b7bcc7f35edd88;hpb=611c5d8812497e6bba7e7993a69ddd5f5fe2ac45;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-checks/sbin/dsa-update-apt-status b/dsa-nagios-checks/sbin/dsa-update-apt-status index f8eab97..8eebe1a 100755 --- a/dsa-nagios-checks/sbin/dsa-update-apt-status +++ b/dsa-nagios-checks/sbin/dsa-update-apt-status @@ -1,5 +1,26 @@ #!/bin/bash +# Copyright 2009 Peter Palfrader +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + UPDATE_RUNS=3 STATUS=/var/cache/dsa/nagios/apt SLEEP_MAX=$(( 15 * 60 )) @@ -31,7 +52,7 @@ run_required() { # do stuff only when required, or when asked to if [ "${1:-""}" != "-f" ] ; then - run_required || exit + run_required || exit 0 fi # sleep if called non-interactively @@ -42,7 +63,7 @@ fi # run apt-get update, retry a few times if it fails count=0 while [ "$count" -lt "$UPDATE_RUNS" ]; do - apt-get update -qq >/dev/null >&2 + flock -e /var/lib/apt/lists apt-get update -qq >/dev/null >&2 if [ "$?" = "0" ]; then break; fi sleep $(( $RANDOM % 600 )) count="$(( $count + 1 ))"