Atualização do AVG
Publicado por Marcelo Donato de Lemos Rossato 01/08/2004
[ Hits: 8.002 ]
Script para baixar os updates do AVG
#!/bin/sh ############################################################################### # # Copyright (C) 2002,2003 Grando, Marcus # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################### # # avg_update.sh - Script para baixar o Update do AVG # # Marcus Grando # <marcus at sbh dot eng dot br> # # Versao 0.9.2 - 06/10/2003 # # TODO: setar automaticamente as variaveis? # # CHANGELOG: # # 0.9.3: Erro ao fazer o download do arquivo que esta com o tamanho errado, # estava baixando um arquivo *.1, foi alterada a opcao no wget para # que funcione corretamente (-N). # 0.9.2: Recriar o arquivo svg6info.ctl, pois o que ele baixa do servidor # nao funciona, pois tem o "../xx/", ao final eh recriado o arquivo. # ## ## sair() ## erro_var="" sair() { echo "ERRO: Ocorreu algum erro na definicao da variavel '$erro_var'"; exit 1; } ## ## Variaveis ## home=/home/avgupdate; [ ! -d $home ]&& erro_var="home" sair url=http://www.grisoft.com/softw/60/fe arqinfo=avg6info.ctf log=avg_update.log email=marcus@sbh.eng.br ## ## Programas ## rm=/bin/rm; [ ! -x $rm ]&& erro_var="rm" sair touch=/bin/touch; [ ! -x $touch ]&& erro_var="touch" sair wget=/usr/bin/wget; [ ! -x $wget ]&& erro_var="wget" sair mail=/bin/mail; [ ! -x $mail ]&& erro_var="mail" sair grep=/bin/grep; [ ! -x $grep ]&& erro_var="grep" sair cut=/usr/bin/cut; [ ! -x $cut ]&& erro_var="cut" sair echo=/bin/echo; [ ! -x $echo ]&& erro_var="echo" sair find=/usr/bin/find; [ ! -x $find ]&& erro_var="find" sair xargs=/usr/bin/xargs; [ ! -x $xargs ]&& erro_var="xargs" sair cat=/bin/cat; [ ! -x $cat ]&& erro_var="cat" sair ps=/bin/ps; [ ! -x $ps ]&& erro_var="ps" sair awk=/usr/bin/awk; [ ! -x $awk ]&& erro_var="awk" sair ls=/bin/ls; [ ! -x $ls ]&& erro_var="ls" sair ## ## Vai para o $home ## cd $home ## ## Previne para que nao ocorra outro update ## if [ -f "prevent_update" ]; then psavg=`$ps -aux | $grep wget | $grep avg` if [ "$psavg" != "" ]; then $echo "Existe outro arquivo \"prevent_update\"" | $mail -s "[AVG-Update] Erro" $email exit 3 fi else $touch prevent_update fi ## ## Remove arquivos $arqinfo/$log ## [ -f $arqinfo ] && $rm -rf $arqinfo [ -f $log ] && $rm -rf $log ## ## Download do $arqinfo ## $wget -o $log $url/$arqinfo ## ## Testa se existe o $arqinfo ## if [ -f "$arqinfo" ]; then bin_update=`$cat $arqinfo | $awk 'gsub(/("|.*\/.*\/)/,"") {print $1}'` else $cat $log | $mail -s AVG-Update $email exit 3 fi ## ## Procura pelos .bin antigos e remove eles ## old_bin=`$find . -name "*.bin" | $awk 'gsub(/.\//,"") {print}'` if [ "$old_bin" != "" ]; then for i in $old_bin; do remove_old=true for n in $bin_update; do if [ "$i" = "$n" ]; then remove_old=false fi done if $remove_old; then $rm -rf $i fi done fi ## ## Download dos novos .bin ## envia_email=false for i in $bin_update; do arq_down=`$cat $arqinfo | $grep $i | $awk 'gsub(/"/,"") {print $1}'` if [ -f $i ]; then size_arqinfo=`$cat $arqinfo | $grep $i | $awk '{print $2}' | $cut -d= -f2` size_ls=`$ls -lk $i | $awk '{print $5}'` if [ "$size_arqinfo" != "$size_ls" ]; then $wget -N -a $log $url/$arq_down envia_email=true fi else $wget -N -a $log $url/$arq_down envia_email=true fi done ## ## Gera arquivo avg6info.ctf if [ -f $arqinfo ]; then $cat $arqinfo | $awk '{gsub(/..\/.*\//,"")} {print}' > $arqinfo fi ## ## Envia email ## if $envia_email; then $cat $log | $mail -s "[AVG-Update] Atualizado" $email fi ## ## Remove arquivo $prevent_update ## $rm -rf prevent_update
Configurar usuarios samba na boa sem dor de cabeça em modo texto
Juntar arquivos divididos por HJsplit
Automatizando autenticação do Speedy Business
beepop - popups com o texto digitado
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
firefox nao guarda meus logins nos sites (1)
Instalar debian testing (13) "por cima" do debian 12 (2)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)