[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Res: [shell-script] Re: Compactar e descompactar arquivos.tar.gz
From: |
Itamar da Silva Oliveira |
Subject: |
Res: [shell-script] Re: Compactar e descompactar arquivos.tar.gz |
Date: |
Tue, 24 Nov 2009 04:40:43 -0800 (PST) |
Pessoal mais uma vez venho pedir ajuda a vocês,
Como faço no no script para quando for compilar um programa usando ./configure,
make e make install, quando um dos comandos falhar o script será abortado
exibindo uma mensagem para o usuário do erro.
Obrigado
________________________________
De: itamaro_liveira <address@hidden>
Para: address@hidden
Enviadas: Quarta-feira, 4 de Novembro de 2009 12:36:38
Assunto: [shell-script] Re: Compactar e descompactar arquivos.tar.gz
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;32mRespons avel na criacao do banco asteriskdb\033[ 00;33m"
else
echo -e "\033[01;33m ERRO FATAL: falta arquivo estrutura-asteriskd b.sql
(/usr/src/estrutura -asteriskdb. sql)\033[ 00;33m"
exit 1
fi
estastcdr="/ usr/src/estrutur a-asteriskcdrdb. sql"
if [ -f "/usr/src/estrutura -asteriskcdrdb. sql" ]; then estastcdr="/
usr/src/estrutur a-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;32mRespons
avel na criacao do banco asteriskcdrdb\ 033[00;33m` " 15 85
else
echo -e "\033[01;33m ERRO FATAL: falta arquivo estrutura-asteriskd b.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 shell-script@ yahoogrupos. com.br, "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.
>
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
[As partes desta mensagem que não continham texto foram removidas]