Pode-se enviar SIGUSR2 para uma instância clamd em execução para recarregar as assinaturas.
Mas como posso (a partir de um script) determinar se as assinaturas foram recarregadas? É claro que posso tentar "sleep 30", o que será suficiente na maioria dos casos (pela minha experiência), mas existe uma abordagem baseada em script além de tentar analisar o arquivo de log?
Responder1
Descobriu:
#!/bin/bash
echo RELOAD | socat - /var/run/clamav/clamd.ctl
seconds=0
while : ; do
output=`echo PING | socat - /var/run/clamav/clamd.ctl`
if [ "$output" == "PONG" ]; then
break
fi
sleep 1
seconds=$[$seconds+1]
done
echo "reloaded after" $seconds "seconds"