shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Wget e Symantec


From: Andrew Amorim
Subject: Re: [shell-script] Wget e Symantec
Date: Mon, 19 Jan 2004 16:40:20 -0200

André, eu uso um para o do AVG !!!!
Agora tenho um servidor mirror na minha intranet.
Coloco ele para rodar 5 vezes ao dia no cron e se tiver alguma atualização,
ele envia um e-mail para todos os usuários.
Dei uma encrementada no script.
Se precisar de ajuda, me manda um -email.
Acho que pode-se fazer o mesmo para o da symantec.....
Falow!
#!/bin/bash
#Script de atualizacao de Antivirus.
#ultima alteracao feita por Andrew Amorim - TI/ASSAI em 08/01/2004

#################################################################
# Variaveis do script #
#################################################################

SHEEL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/
DIRPADRAO=/var/www/softw/60/fe
SITE=http://files.grisoft.cz/softw/60/xx/avg6info.ctf
SITE2=http://files.grisoft.cz/softw/60/xx
ARQREF=avg6info.ctf
ARQREFMAIL=ref_email.ti
DIASEMANA=$(date +%u)
HORA=$(date +%R)

# Entra no diretorio da Intranet - AVG
cd $DIRPADRAO

# Renomeia o arquivo atual com as novas atualizacoes.
# Renomeia o arquivo de referencia para envio de email.
mv $ARQREF avg6info.ctf.old
mv $ARQREFMAIL ref_email.ti.old

# Efetua o download do arquivo com as informações dos arquivos de
atualizacoes.
wget -r -nd -t 3 -w 10 $SITE

# Extrai do arquivo de atualizacao apenas os nomes dos binarios de
atualizacao.
cat $ARQREF | grep bin | cut -c 2-13 > lista.txt

# Loop de leitura do arquivo.
cat lista.txt | while read mArquivo #Transforma os valores dentro do arquivo
para leitura.
do
if [ ! -f $mArquivo ]
then

# Se so arquivos nao existirem na variavel mArquivo (lista.txt), entao
efetua o download da atualizacao.
wget -r -nd -t 3 -w 10 $SITE2/$mArquivo

# Adiciona a nova data no arquivo datas.
stat -c %x $mArquivo > datas

# Adiciona a data separada por arquivos dia/mes/ano
cat datas | grep 2004 | cut -c 1-4 > ano
cat datas | grep 2004 | cut -c 6-7 > mes
cat datas | grep 2004 | cut -c 9-10> dia

#cria o arquivo de referencia de e-amil.
touch $ARQREFMAIL

#Muda as permissoes dos arquivos.
chmod 755 $mArquivo
fi
done

# Verifica se existe o arquivo de atualizacao.
if [ -f $DIRPADRAO/$ARQREF ]
then

# Se o script teve sucesso (se existir o arquivo avg6info.ctf), apaga o
arquivo backup.
rm avg6info.ctf.old
else

# Caso contrario, volta o backup
mv avg6info.ctf.old $ARQREF
fi

#Define as variaveis para os dias da semana para serem usadas no Subject do
e-mail.
if [ $DIASEMANA == 1 ]; then DIASEMANA=Segunda-Feira; fi
if [ $DIASEMANA == 2 ]; then DIASEMANA=Terca-Feira; fi
if [ $DIASEMANA == 3 ]; then DIASEMANA=Quarta-Feira; fi
if [ $DIASEMANA == 4 ]; then DIASEMANA=Quinta-Feira; fi
if [ $DIASEMANA == 5 ]; then DIASEMANA=Sexta-Feira; fi
if [ $DIASEMANA == 6 ]; then DIASEMANA=Sabado; fi
if [ $DIASEMANA == 7 ]; then DIASEMANA=Domingo; fi

#Define a data da atualizacao, para ser enviada no Subject do e-mail.
cat ano | while read DATAANO
do
cat mes | while read DATAMES
do
cat dia | while read DATADIA
do
if [ -f $ARQREFMAIL ]
then

# Envia o e-mail informativo se houve a atualizacao.
for USUARIOS in `cat users | cut -d: -f1`
do
cat menssagem.txt | mutt -a upavg.gif -s " Servidor AVG atualizado em
$DIASEMANA dia $DATADIA-$DATAMES-$DATAANO as $HORA ! " $USUARIOS
done

# Caso contrario, volta o arquivo que foi renomeado no comeco.
else
mv ref_email.ti.old $ARQREFMAIL
fi
done
done
done

----- Original Message ----- 
From: "André Silva Coelho de Oliveira" <address@hidden>
To: <address@hidden>
Sent: Monday, January 19, 2004 3:39 PM
Subject: [shell-script] Wget e Symantec


> Boa tarde galerinha,
>
>     Tenho  o seguinte problema e gostaria da ajuda de vocês:
>
>     Tenho varias filiais com o Norton Anti-virus instalado nas estações.
> Existe um scritplogon do samba que toda vez que eles efetuam logon no
> equipamento alguns drives são mapeados e é feita uma verificação para
saber
> se o anti-virus está desatualizado. Caso ele esteja desatualizado o
> atualizador automatico da Symantec é executado e se encarrega de deixa-lo
> com a versão mais nova das definições de virus. É ai que o bixo pega. Toda
> vez que um novo patch é lançado eu tenho de ir na pagina da Symantec,
baixar
> o executavel, copiar para uma pasta especifica, apagar o antigo, renomear
o
> novo e depois ir espalhando para cada filial tudo MANUALMENTE. Tenho o
> exemplo de um pequeno script para tentar baixar o arquivo automaticamente,
> mas só que ele não serve muito porque toda vez que vai baixar o arquivo dá
> um erro e diz que o arquivo não existe... será que alguém pode me dar uma
> luz pois para mim o script parece OK.
>
> #!/bin/sh
> #########################
> ###ATUALIZA NORTON ###
> #########################
>
> arq=`date "+%Y%m%d"`"-016-i32.exe"
> echo $arq
> wget http://www.symantec.com.br/avcenter/download/us-files/$arq
>
>
> O formato do arquivo é sempre: AAAAMMDD-(não sei acho que versão)-i32.exe
e
> está sempre neste mesmo endereço.
>
> //
>
> André Silva Coelho de Oliveira
> Minoica B.M.C Global Logistics
> S.I.N - Serviço de Informática
> address@hidden
> www.minoica.com.br
> Tel: +55 (12) 3933 - 0466 ramal 232
>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.562 / Virus Database: 354 - Release Date: 16/1/2004



reply via email to

[Prev in Thread] Current Thread [Next in Thread]