X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clamav-cron-updatedb;h=1a613db39c45a6d83c1164ae8823cd369edd0f67;hb=00f337b;hp=6622b07855d75f0ee10d839785dc54b34b505c09;hpb=8d8bbbc66abd9b7d05e276b044f9159710b20466;p=packages%2Fclamav.git diff --git a/clamav-cron-updatedb b/clamav-cron-updatedb index 6622b07..1a613db 100644 --- a/clamav-cron-updatedb +++ b/clamav-cron-updatedb @@ -1,14 +1,19 @@ #!/bin/sh [ -f /etc/sysconfig/clamd ] && . /etc/sysconfig/clamd +[ -n "$UPDATE_HOUR" -a "$UPDATE_HOUR" -gt 0 ] || UPDATE_HOUR=2 -[ -z "$UPDATE_HOUR" ] && UPDATE_HOUR=2 -DIV="$(echo "$(LC_ALL=C date "+%H % ${UPDATE_HOUR}")" | bc)" -[ "$DIV" = "0" ] || exit 0 +[ $((`date '+%k'` % $UPDATE_HOUR)) -eq 0 ] || exit 0 -[ -z "$UPDATE_MAIL_MESSAGES" ] && UPDATE_MAIL_MESSAGES="errors" +# sleep random period to avoid all servers hitting clamav servers at the same time, +# but 1800 seconds (half an hour) at most +sleep $((RANDOM % 1800)) + +[ "$UPDATE_MAIL_MESSAGES" ] || UPDATE_MAIL_MESSAGES="errors" [ "$UPDATE_MAIL_MESSAGES" = "errors" ] && freshclamopt="--quiet" +[ -f /var/lock/subsys/clamd ] && notify="--daemon-notify" || notify= + umask 022 -log=$(/usr/bin/freshclam $freshclamopt --daemon-notify 2>&1) +log=$(/usr/bin/freshclam $freshclamopt $notify 2>&1) [ "$UPDATE_MAIL_MESSAGES" != "none" -a -n "$log" ] && echo "$log"