]> git.pld-linux.org Git - packages/clamav.git/blobdiff - clamav-cron-updatedb
- updated to 0.101.3 (solves vulnerability to non-recursive zip bombs)
[packages/clamav.git] / clamav-cron-updatedb
index f48e38456dbf800c78d8251298bbcb2f9f67e472..7486f0cd3c6af9ac2b532638cf9fd799c36e0301 100644 (file)
@@ -1,21 +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
-[ -z "$UPDATE_QUIET" ] && UPDATE_QUIET="yes"
+[ $((`date '+%k'` % $UPDATE_HOUR)) -eq 0 ] || exit 0
 
-DIV="$(echo "$(LC_ALL=C date "+%H % ${UPDATE_HOUR}")" | bc)"
+# 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))
 
-if [ "$UPDATE_QUIET" = "yes" ]; then
-    freshclamopt="--quiet"
-fi
-    
-if [ "$DIV" = "0" ]; then
-       umask 022
-       log=$(/usr/bin/freshclam $freshclamopt -l /var/log/clamav.log --daemon-notify 2>&1)
-       if [ "$UPDATE_QUIET" != "yes" ]; then
-           echo "$log"
-       fi
-fi
+[ "$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=$(/bin/nice -n 19 /usr/bin/ionice -c idle /usr/bin/freshclam $freshclamopt $notify 2>&1)
+[ "$UPDATE_MAIL_MESSAGES" != "none" -a -n "$log" ] && echo "$log"
This page took 0.176275 seconds and 4 git commands to generate.