Arquivos históricos do BR-Linux.org apresenta:

Atualização automática para arquivos do uvscan

O texto abaixo contém um script shell para atualização automática da tabela de vírus do uvscan (o antivírus da McAfee/NAI). Eu mantenho este antivírus (que é um software comercial) instalado em uma série de servidores (de e-mail e de arquivos) Linux, para limpar os arquivos que os usuários de Windows lá armazenam, e para impedir que eles recebam e-mails infectados. Ativando este script para execução automática de hora em hora eu me preocupo menos com a possibilidade de deixar meus usuários desprevenidos contra algum vírus novo ;-)

Eu obtive este script em um arquivo antigo de lista de discussão, com o nome de auto_update_uvscan. Mas ele não era atualizado desde 2001, e continha alguns erros de sintaxe (além de apontar para URLs não mais existentes no site da NAI). Aparentemente o autor do original foi o Jorge Becerra (jorgeATsodatec.org), mas a versão que eu recebi estava bastante alterada (e sem assinaturas), e eu tive que alterar mais um pouco para fazer funcionar.

Este script tem uma vantagem sobre alguns outros que eu já vi anteriormente, porque ele usa o lynx para fazer o acesso ao site FTP da NAI. Ao contrário de vários outros clientes FTP, o lynx suporta o uso de proxies http (como o squid) para acesso a servidores de ftp, assim você pode usar este script mesmo se sua rede for isolada. Outra alternativa para esta mesma finalidade seria o wget.

O script está completo a seguir - basta copiar e colar, gravar em um arquivo como "/usr/local/bin/auto-update-uvscan" e torná-lo executável com o comando "chmod a+rx /usr/local/bin/auto-update-uvscan".

Para configurar a execução automática em horários pré-determinados, consulte a nossa dica sobre o cron.

O script

#!/bin/bash
# dat_update
# Original por Jorge Becerra jorgeATsodatec.org
#
# Recebido em versão alterada, e alterado mais um pouco por:
# Augusto Campos (brain@br-linux.org) 07/2003
#
# Comentário do autor original:
# Feel free to use the script and distribute
# if you found any mistake, please email the author
#
# A versão atual funciona para mim, mas se alguém acrescentar 
# características, ou limpar o código, favor me mandar uma cópia.
#

# proxy - descomente para configurar, se você precisar
#http_proxy="http://proxy.foo.br:3128/"
#ftp_proxy="http://proxy.foo.br:3128/"

# Where to get the nai update from
FTPDIR="ftp://ftp.nai.com/pub/datfiles/english/"
MAILTO="root"

 # Location of uvscan files
 UVSCANDIR="/usr/local/uvscan"
 UVSCAN="$UVSCANDIR/uvscan"

# Location of files (check on your distribution)
LYNX="/usr/bin/lynx"
GREP="/bin/grep"
CUT="/usr/bin/cut"
WGET="/usr/bin/wget"
CP="/bin/cp"
RM="/bin/rm"
ECHO="/bin/echo"
MKDIR="/bin/mkdir"
CAT="/bin/cat"
TAR="/bin/tar"
MAIL="/bin/mail"

#
# You don't need to change from here
# At least if you don' know exactly what means :-)
#

if [ ! -x $UVSCAN ] ; then
  $ECHO "uvscan not installed on: $UVSCAN"
  exit
fi

if [ ! -x $LYNX ] ; then
  $ECHO "lynx not installed on $LYNX "
  exit
fi

cd $UVSCANDIR
if [ ! -d tmp ]; then
  $MKDIR tmp
fi
cd tmp

# Get the page from nai
echo "Retrieving update list"
$LYNX -dump "$FTPDIR" > nai.ls
echo "Done"

# Extract filename of last version

$CAT nai.ls | $GREP 'ftp://ftp.nai.com' nai.ls | $GREP .tar | $CUT -c 7- | head -1 >nai.fn

# Get current version
VERSION_CURRENT=`cut -d - -f 2 nai.fn | cut -d . -f 1`

if [ -z "$VERSION_CURRENT" ] ; then
  $ECHO "cant get uvscan current version"
  exit
fi

# Get version installed

VERSION_USED=`$UVSCAN --version | $GREP "Virus data file" | $CUT -d" " -f4 | $CUT -c2-`
$ECHO "Version - current : $VERSION_CURRENT"
$ECHO "Version - used : $VERSION_USED"

if [ -z "$VERSION_USED" ] ; then
 $ECHO "could not get version from $UVSCAN"
 exit
fi

if [ "$VERSION_USED" -ge "$VERSION_CURRENT" ] ; then
  $ECHO "Viruscan is up to date"
  exit
fi

$ECHO "Viruscan needs to be updated"
DATNAME="dat-${VERSION_CURRENT}.tar"
echo "downloading $FTPDIR$DATNAME - please wait"
$WGET -c -o wupdate.log $FTPDIR$DATNAME

if [ $? -eq 0 ]; then
  echo "downloaded ok"
  if [ ! -d extract ] ; then
    $MKDIR extract
  fi
  $RM -f extract/*
  $TAR --extract --directory extract < $DATNAME
  if [ ! $? -eq 0 ]; then
    $ECHO "ERROR extracting"
    exit
  fi
  $RM -f extract/*.exe
  $CP -f extract/* $UVSCANDIR/
  $RM -f extract/*
  $MAIL -s "uvscan dat updated to version: ${VERSION_CURRENT}" $MAILTO < wupdate.log
else
  $ECHO "error downloading"
fi

$RM -f wupdate.log

Postado por brain em julho 31, 2003 11:25 AM

Comentários para "Atualização automática para arquivos do uvscan"

» Postado por: todorov em julho 31, 2003 05:10 PM, 200.158.64.:

 

» Postado por: todorov em julho 31, 2003 05:11 PM, 200.158.64.:

 

» Postado por: Guaracy Tesch Junior em setembro 18, 2003 01:54 PM, 200.102.210:

 

» Postado por: Domingos Paraiso em outubro 16, 2003 02:08 PM, 200.165.8.6:

 

» Postado por: Raul em novembro 9, 2003 11:07 PM, 200.154.72.:

 

» Postado por: aleffi em janeiro 10, 2004 08:23 AM, 200.199.129:

 

» Postado por: Zithromax Online em setembro 24, 2004 06:23 AM, 65.75.139.9:

 

» Postado por: Amoxicillin em outubro 4, 2004 12:28 PM, 65.75.139.9:

 

» Postado por: Cialis em outubro 8, 2004 05:15 PM, 65.75.139.9:

 

» Postado por: Levaquin em outubro 12, 2004 05:07 PM, 65.75.139.9:

 

» Postado por: Seasonale em outubro 14, 2004 11:53 AM, 65.75.139.9:

 

» Postado por: Remeron em outubro 22, 2004 02:58 PM, 65.75.139.9:

 

» Postado por: Elidel online em novembro 2, 2004 12:57 PM, 208.53.138.:

 

Antes de comentar...

- Preserve a qualidade desta discussão
- Leia os Termos de Uso.
- Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum.
- Mantenha o foco nos argumentos e no assunto
- Não faça ataques pessoais.
- Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro
- Não seja um e-mala ;-)


O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.