33 lines
694 B
Bash
33 lines
694 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
declare -a DB_MIRRORS=(
|
||
|
"switch.clamav.net"
|
||
|
"clamavdb.heanet.ie"
|
||
|
"clamav.iol.cz"
|
||
|
"clamav.univ-nantes.fr"
|
||
|
"clamav.easynet.fr"
|
||
|
"clamav.begi.net"
|
||
|
)
|
||
|
declare -a DB_MIRRORS=( $(shuf -e "${DB_MIRRORS[@]}") )
|
||
|
|
||
|
DB_FILES=(
|
||
|
"bytecode.cvd"
|
||
|
"daily.cvd"
|
||
|
"main.cvd"
|
||
|
)
|
||
|
|
||
|
for i in "${DB_MIRRORS[@]}"; do
|
||
|
for j in "${DB_FILES[@]}"; do
|
||
|
[[ -f "/var/lib/clamav/${j}" && -s "/var/lib/clamav/${j}" ]] && continue;
|
||
|
if [[ $(curl -o /dev/null --connect-timeout 1 \
|
||
|
--max-time 1 \
|
||
|
--silent \
|
||
|
--head \
|
||
|
--write-out "%{http_code}\n" "${i}/${j}") == 200 ]]; then
|
||
|
curl "${i}/${j}" -o "/var/lib/clamav/${j}" -#
|
||
|
fi
|
||
|
done
|
||
|
done
|
||
|
|
||
|
chown clamav:clamav /var/lib/clamav/*.cvd
|