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: 29.827 ]

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

GAMBAS: A definitiva resposta open-source ao Microsoft Visual Basic

A Inteligência Artificial que escreve programas

FreePascal + Lazarus: Desenvolvedores em Delphi podem começar a migrar para o Linux!

Camera Kombat: Mortal Kombat ao vivo com WebCam

Criando aplicativos para o iPhone no Linux (sem Xcode e MacOS X)

Leitura recomendada

O poder do SSH

Rodando Half-Life 2 e Counter-Strike Source

Certificação Linux, minha experiência com a LPI 101

Criando um invejável serviço de backup em CD-R com gravação multi-sessão

Software Livre e Matemática Financeira

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts