Montando um mirror de atualização do anti-vírus AVG

Este tutorial mostra como fazer para evitar que todas as máquinas de uma rede local sejam obrigadas a fazer a atualização da vacina do anti-vírus via internet, criando um mirror da estrutura de arquivos e diretórios do fabricante em seu próprio servidor.

[ Hits: 31.284 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 24/06/2003 | Blog: http://assuntonerd.com.br


A estrela deste tutorial - o script



Este script efetua o download do arquivo avg6info.ctf, que contém a lista dos arquivos de atualização, data e versão.

Após o download ele verifica se existe algum arquivo a ser baixado, verificando a existência no disco de cada um deles.

Se o arquivo avg6info.ctf não foi baixado com sucesso, ele volta o seu backup.

Crie um script chamado updateAVG:

# cd /bin # vi updateAVG

Coloque o seguinte conteúdo no arquivo:

#!/bin/bash

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/

# Entra da pasta da atualização
cd /home/httpd/html/softw/60/fe

# Renomeia o arquivo atual de informação
mv avg6info.ctf avg6info.ctf.old

# Efetua o download do arquivo de informação
wget -r -nd -t 3 -w 10  http://files.grisoft.cz/softw/60/fe/avg6info.ctf

# Extrai do arquivo de informação apenas os nomes dos binários da atualização
cat avg6info.ctf | grep bin |  cut -c 2-13 > lista.txt

# Loop de leitura do arquivo
cat lista.txt | while read mArquivo
do
   if [ ! -f $mArquivo ]
   then
      # Se o arquivo não existir, então efetua o download da nova atualização
      wget -r -nd  -t 3 -w 10 http://files.grisoft.cz/softw/60/fe/$mArquivo

      # Muda os direitos do arquivo
      chmod 755 $mArquivo
   fi
done

if  [  -f /rede/web/softw/60/fe/avg6info.ctf ]
   then
      # Se o script obteve êxito, então apaga o backup
      rm avg6info.ctf.old
   else
      # Caso contrário, volta o backup
      mv avg6info.ctf.old avg6info.ctf
fi

Agendando o script


Como o script executa de forma muito rápida e os arquivos de atualização não são tão grandes, agendei o script para ser executado de uma em uma hora.

Veja o meu arquivo crontab:

# cd /etc/
# cat crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

00 * * * * root /rede/util/updateAVG %


Com este tutorial apenas o servidor efetua o download da vacina na hora que estiver disponível e todas as maquinas clientes não precisam fazer a atualização via internet. sem contar que a atualização no servidor local fica bem rápido.

Página anterior    

Páginas do artigo
   1. Criando o mirror da AVG
   2. Configurando as estações
   3. A estrela deste tutorial - o script
Outros artigos deste autor

Xtraceroute: O traceroute tridimensional

Biometria: Transforme-se no usuário root com sua impressão digital

Brasil apimenta a guerra do software livre

fprint: Biometria livre, completa e total!

Camera Kombat: Mortal Kombat ao vivo com WebCam

Leitura recomendada

fprint: Biometria livre, completa e total!

Google AdSense vs Layout de websites

Festival: O sintetizador de voz para Linux

Viva o Linux Training: seja um moderador do VOL

Atualizando o clamav via YUM no Fedora Core 3

  
Comentários
[1] Comentário enviado por fabio em 24/06/2003 - 17:27h

Meu 1kb de contribuição:

Para criar uma estrutura de sub-diretórios como o feito pelo comando:
mkdir softw softw/60 softw/60/fe

Pode-se usar a opção -p (parents) do mkdir, que faz com que o sistema crie toda a estrutura de diretórios automaticamente, por exemplo:
mkdir -p softw/60/fe

Ou seja, não foi necessário criar os diretórios "softw" e "60" antes de criar o "fe".

[2] Comentário enviado por cesarcardoso em 24/06/2003 - 21:34h

Grande artigo! Imagino que deva ser possível adaptar para outros anti-vírus, não?

[3] Comentário enviado por aribeiro em 24/03/2004 - 14:25h

EU QUERIA SABER SE ESTES COMANDOS SERVEN PARA QUALQUER SISTEMA OPERACIONAL?

[4] Comentário enviado por zeuch em 20/05/2004 - 08:43h

Eu tentei montar o mirror, mas quando tento fazer o download de todo o conteudo da Grisoft, baixa apenas o arquivo index.html, com os links para os arquivos.

O comando que executei foi exatamente igual ao do artigo. Alguém conseguiu baixar os arquivos com este comando?

[5] Comentário enviado por everton_mello em 10/11/2004 - 10:28h

Olá a todos pessoal eu tentei com diversas opções a gora não consegui, inclusive usando wget -F, Wget -A com a opção ainda de -r *.bin e ele não pega os arquivos, e percebi que o endereço usado no artigo o endereço diz que seriam archives mas se colocarem o endereço dentro de um browser vemos que o endereço altera para download onde era archive.

Mas de resto achei ótimo o artigo, um abraço.

[6] Comentário enviado por ramone em 18/10/2006 - 14:49h

Ótimo artigo! Muito útil!

[7] Comentário enviado por ramone em 18/10/2006 - 15:10h

Pessoal, aqui na empresa usamos o AVG 7, no diretorio nao existe o arquivo *.ini e não há chave de registro que eu possa modificar...Alguém sabe como eu posso burlar o AVG?

[8] Comentário enviado por tiagotavares em 16/09/2008 - 10:07h

Esse seu artigo me ajudou muito Cabelo! Obrigado!
Só que no ultimo if tá faltando uma exclamação. Veja se eu nao estou falando bobagem..rsrsrs

Abraço!

[9] Comentário enviado por aranha08 em 31/07/2009 - 17:45h

fica dando um erro na no then


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts