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

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

Re: [shell-script] Re: Compactar e descompactar arquivos.tar.gz


From: Victor Hugo Leite
Subject: Re: [shell-script] Re: Compactar e descompactar arquivos.tar.gz
Date: Wed, 4 Nov 2009 14:08:48 -0200

Boa tarde Itamaro,

Faça o seguinte, tar tzvfp asterisk.tgz | wc -l, voce ira descobrir o numero
fixo de arquivos existentes dentro do pacote do asterisk, após isso fixe o
numero usando a logica do script que lhe enviei de compactação. Vale
ressaltar que a cada atualização do pacote a ser descompactado, voce irá
precisar atualizar esta variavel.

Essa é uma ideia, possivelmente virão outras.

Abraços
Victor Hugo Leite

2009/11/4 itamaro_liveira <address@hidden>

> Na verdade estou desenvolvendo um script em bash para instalação do
> Asterisk para facilitar na hora da instalação do servidor.
> segue abaixo o código não terminei ainda, preciso dá parte de descompactar
> usando dialog --guage.
>
> Favor se precisar de melhoras fiquem a vontade pra sugerir melhorias.
>
> #!/bin/bash
> # Script criado por Itamar Oliveira
> # Este e um script para instalacao de pacotes para servidor IBPX-VOX
> clear
> trap "" 1 2 3 15
> apt-get install -y dialog 2>/dev/null 1>/dev/null
> #Wget com guage baixar arquivos
> pega_porcentagem()
> {
>   while  true
>   do
>      x=`cat $LOG | grep % | cut -c62-64 | tail -n 1`
>      echo $x
>      #se o porcentagem igual a 100 para de fazer o loop infinito, pois
> arquivo jah
>      #foi baixado completamente
>      if [ $x = 100 ] 2>/dev/null 1>/dev/null
>      then
>         break;
>      fi
>   done
> }
>
>  dialog --begin 15 45 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "VOX-IPBX" --msgbox 'Apos a finalizacao da instalacao o sistema esta apto a
> funcinar.' 10 30
>
> #Verifica arquivos necessarios a instalacao
> estastdb="/usr/src/estrutura-asteriskdb.sql"
> if [ -f "/usr/src/estrutura-asteriskdb.sql" ]; then
> estastdb="/usr/src/estrutura-asteriskdb.sql"; fi
> if [ -f "$estastdb" ]; then
>        if [ "$estastdb" != "/usr/src/estrutura-asteriskdb.sql" ]; then op
> $estastdb /usr/src/estrutura-asteriskdb.sql; fi
>        #echo -e "\033[01;32mResponsavel na criacao do banco
> asteriskdb\033[00;33m"
> else
>        echo -e "\033[01;33m ERRO FATAL: falta arquivo
> estrutura-asteriskdb.sql (/usr/src/estrutura-asteriskdb.sql)\033[00;33m"
>        exit 1
> fi
>
> estastcdr="/usr/src/estrutura-asteriskcdrdb.sql"
> if [ -f "/usr/src/estrutura-asteriskcdrdb.sql" ]; then
> estastcdr="/usr/src/estrutura-asteriskcdrdb.sql"; fi
> if [ -f "$estastcdr" ]; then
>        if [ "$estastcdr" != "/usr/src/estrutura-asteriskcdrdb.sql" ]; then
> op $estastcdr /usr/src/estrutura-asteriskcdrdb.sql; fi
>        #dialog --title "Asteriskcdrdb " --infobox "`echo ;echo -e
> "\033[01;32mResponsavel na criacao do banco asteriskcdrdb\033[00;33m`" 15 85
> else
>        echo -e "\033[01;33m  ERRO FATAL: falta arquivo
> estrutura-asteriskdb.sql (/usr/src/estrutura-asteriskcdrdb.sql)\033[00;37m"
>        exit 1
> fi
>
> #Verificando integridade do sistema
>  dialog  --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Verificando integridade do sistema..." --infobox "`echo ;apt-get update
> -y`" 15 85
>
> #Verificando atualizacao do sistema
>  dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Atualziando a base do sistema" --infobox "`echo ;apt-get upgrade -y`" 15 85
>
> # Variavel do sistema
> AST=asterisk-1.4.26.2.tar.gz
> DIRAST=asterisk-1.4.26.2
> ZAP=zaptel-1.4.12.1.tar.gz
> DIRZAP=zaptel-1.4.12.1
> LIBP=libpri-1.4.10.1.tar.gz
> DIRLIBP=libpri-1.4.10.1
> ADDONS=asterisk-addons-1.4.9.tar.gz
> DIRADDONS=asterisk-addons-1.4.9
> SOUNDS=asterisk-sounds-1.2.1.tar.gz
> DIRSOUNDS=asterisk-sounds-1.2.1
> VLIB=voicerlib-4.2.0.0.tar.gz
> DIRBLIB=voicerlib-4.2.0.0
> DGV=dgvchannel-1.0.4.tar.gz
> DIRDGV=dgvchannel-1.0.4
>
> #Links pra daownloas
> SITE0="http://downloads.digium.com";
> SITE1="http://downloads.asterisk.org";
> SITE2="http://downloads.digivoice.com.br";
>
> # URL dos pacotes
> AST_URL_LIBPRI="$SITE1/pub/telephony/libpri/releases/$LIBP"
> AST_URL_SRC="$SITE0/pub/asterisk/releases/$AST"
> AST_URL_ZPT="$SITE0/pub/zaptel/releases/$ZAP"
> AST_URL_ADD="$SITE0/pub/asterisk/releases/$ADDONS"
> AST_URL_SND="$SITE0/pub/asterisk/releases/$SOUNDS"
> DGV_URL_VOICE="$SITE2/pub/voicerlib/linux/stable/$VLIB"
> DGV_URL_DGV="$SITE2/pub/dgvchannel/stable/$DGV"
>
> #LAST=http://downloads.digium.com/pub/asterisk/releases/$AST
>
> #variavel do log
> LOG=wget.log
>
> # Instalacao dos pacotes essenciais
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y mc vim openvpn denyhosts iftop mtr whois`" 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y biksemel3 libiksemel-dev libgnutls-dev`" 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y speex libspeex1 libspeex-dev`" 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y bison openssl libasound2-dev libc6-dev libnewt-dev libssl-dev
> zlib1g-dev libncurses5-dev libeditline0`" 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y libeditline-dev libedit2 libedit-dev linux-headers-`uname -r`
> mpg123`" 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y libmysqlclient15-dev libtiff4 libtiff4-dev libxml2 libxml2-dev`"
> 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y  build-essential automake fakeroot debhelper autotools-dev cdbs`"
> 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y pkg-config gcc g++ cpp make binutils debconf-utils`" 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y debhelper dpkg-dev gettext html2text intltool-debian
> module-assistant`" 15 85
> sleep 2
> #dialog --title "Instalando pacotes essenciais do sistemea" --infobox
> "`echo ;apt-get install -y `" 15 85
>
> # Instalacao do servidor de banco de dados Mysql
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y mysql-server apache2 php5 php5-mysql php-pear php5-gd php5-cli
> libnet-ssleay-perl`" 15 85
> sleep 2
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title
> "Instalando pacotes essenciais do sistemea" --infobox "`echo ;apt-get
> install -y python-urwid bmon bwm-ng snmp snmpd nbsmtp`" 15 85
> sleep 2
>
> # Preparando servidor para o padrao SMARTVOX
> dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0" --title "
> Preparando o servidor para o padrao SMARTVOX " --infobox "`echo ;apt-get
> install -y php5-sqlite php5-memcache php5-mcrypt php5-xsl`" 15 85
> sleep 2
>
>
> #Baixando os pacotes fontes para compilacao do asterisk
> #verificando se ja existe o pacote
> if [ ! -f $east ]
> then
>       # echo "Ja existe" 2>/dev/null 1>/dev/null
>
> #else
>        wget -o $LOG $AST_URL_SRC &
>        ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox
> IPBX - versao 2.0 " --title " Baixando pacote src do $AST  " --gauge "
> Aguarde, fazendo download do arquivo $AST ..." 0 0
> fi
>
> #Baixando o pacote fontes do asterisk-addons
> if [ ! -f $ADDONS ]
> then
>        #echo "Ja existe" 2>/dev/null 1>/dev/null
> #else
>        wget -o $LOG $AST_URL_ADD &
>        ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox
> IPBX - versao 2.0 " --title " Baixando pacote src do $ADDONS  " --gauge "
> Aguarde, fazendo download do arquivo $ADDONS ..." 0 0
> fi
>
> #Baixando o pacote src da libpri
> if [ ! -f $LIBP ]
> then
>        #echo "Ja existe" 2>/dev/null 1>/dev/null
> #else
>        wget -o $LOG $AST_URL_LIBPRI &
>        ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox
> IPBX - versao 2.0 " --title " Baixando pacote src da $LIBP  " --gauge "
> Aguarde, fazendo download do arquivo $LIBP ..." 0 0
> fi
>
> #Baixando o pacote src da zaptel
> if [ ! -f $ZAP ]
> then
> #       echo "Ja existe" 2>/dev/null 1>/dev/null
> #else
>        wget -o $LOG $AST_URL_ZPT &
>        ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox
> IPBX - versao 2.0 " --title " Baixando pacote src da $ZAP  " --gauge "
> Aguarde, fazendo download do arquivo $ZAP ..." 0 0
> fi
>
> #Baixando o pacote src da Asterisk-sound
> if [ ! -f $SOUNDS ]
> then
> #       echo "Ja existe" 2>/dev/null 1>/dev/null
> #else
>         wget -o $LOG $AST_URL_SND &
>        ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox
> IPBX - versao 2.0 " --title " Baixando pacote src da $SOUNDS  " --gauge "
> Aguarde, fazendo download do arquivo $SOUNDS ..." 0 0
> fi
>
> #Baixando o pacote src da voiceliber
> if [ ! -f $VLIB ]
> then
> #       echo "Ja existe" 2>/dev/null 1>/dev/null
> #else
>         wget -o $LOG $DGV_URL_VOICE &
>        ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox
> IPBX - versao 2.0 " --title " Baixando pacote src da $VLIB  " --gauge "
> Aguarde, fazendo download do arquivo $VLIB ..." 0 0
> fi
>
> #Baixando o pacote src da DGV
> if [ ! -f $DGV ]
> then
> #       echo "Ja existe" 2>/dev/null 1>/dev/null
> #else
>        wget -o $LOG $DGV_URL_DGV &
>        ( pega_porcentagem ) | dialog --begin 15 45 --backtitle "Smart Vox
> IPBX - versao 2.0 " --title " Baixando pacote src da $DGV" --gauge "
> Aguarde, fazendo download do arquivo $DGV ..." 0 0
> fi
>
> #Extracao dos arquivos sources para compilacao do asterisk
> if [ ! -d $DIRAST ]
> then
> #       echo "Ja existe" 2>/dev/null
> #else
>        dialog --begin 10 20 --backtitle "Smart Vox IPBX - versao 2.0"
> --title "Extraindo pacotes src do $AST" --gauge "`tar xvfz $AST`" 25 95
> fi
>
> é isso aí pessoal. Aí está o código
> Valeu mesmo
>
>
> --- Em address@hidden, "itamaro_liveira"
> <itamaro_liveira@...> escreveu
> >
> > Pessoal, boa tarde.
> >
> > Estou fazendo um script em bash usando dialog, e gostaria que o script
> compactasse e descompactasse, usando tar.gz mostrando uma barra de progresso
> no dialog. Como faço isso?
> > Obrigado.
> >
>
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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