Programa para backup e restore [RESOLVIDO]

13. Re: Programa para backup e restore [RESOLVIDO]

Rafael Lopes de souza
relz

(usa Debian)

Enviado em 20/11/2008 - 13:56h

hahaha..
ctz...
nas primeiras linhas como coment irei colocar o nome dele pra ele ganha ponto tambem =D


  


14. Re: Programa para backup e restore [RESOLVIDO]

nelio
neliobjr

(usa Red Hat)

Enviado em 20/11/2008 - 14:15h

ahuahauhau, vou querer esses pontos, transferido para minha materia de arquitetura, rsrsrs

Entao como os caras estao demorando muito para publicar, vou colar o script aqui e depois edito com o link, qualquer duvida posta ai...

abs...

#!/bin/sh
# autor Nelio B. Silva Jr
# este script eh somente para ter ideia, nao sendo recomendado para uso profissional, porem se consegue fazer um uso legal com algumas modificacoes
# Nele existe alguns, como diria, bugs, mas nao vou arrumar pois se eu continuar neste script, o pessoal na Arc Server vao ter que fechar as portas, rsrsrs,
# E os bugs do programa, sao por exemplo, nao esta chegando se usuario tem permissao, grupo, etc. existem algums paus tb de restore...
# enfim, eh isso qualquer coisa me falem....

#os caminhos abaixo, ao os caminhos que foram configurados, com o meu usuario oracle, alterem para o de vcs conforme necessario ou de interesse


caminho_backup=/home/oracle/rest #caminho da pasta de backup, como ja havia na minha / a pasta backup utilizei esta
verifica_existe=/home/oracle/teste/verifica_existe.log #todos os oracle testes que estao daqui para frente, mudem para os enderecos de scripts de vcs.
verifica_restore=/home/oracle/teste/verifica_restore.log #nao eh necessario alterar em mais nenhum outro lugar. somente neste bloco
existe_restore=/home/oracle/teste/existe_restore
radio_tmp=/home/oracle/teste/radio_tmp.log
logs=/home/oracle/teste/logs.log
logs_tmp=/home/oracle/teste/logs_tmp.log

inicio(){

var=$( dialog --backtitle SUPER_BACKUP --title Super_Backup --stdout --menu 'Escolha uma opcao: ' 0 0 0 1 'BACKUP' 2 'RESTORE' 3 'LER_LOG' )
case $var in
1) backup;;
2) restore;;
3) ler_log;;
*) clear; echo 'saindo do programa'; exit;;
esac
}

executa_backup(){

cd $var_bac
mkdir -p $caminho_backup$var_bac
cd $var_bac
echo Data do Backup: `date "+%d/%m/%y %H:%M"` >> $caminho_backup$var_bac/bkp.log
tar cvfz $caminho_backup"$var_bac"/backup.tar.gz * >> $caminho_backup$var_bac/bkp.log
var_wc=$(wc -l $caminho_backup$var_bac/bkp.log|cut -d " " -f1) >/dev/null
var_wc1=$(($var_wc - 2))
echo 'Total:' $var_wc1 'arquivos' >> $caminho_backup$var_bac/bkp.log
dialog --title 'CONFIRMACAO' --msgbox 'backup de '$var_bac' efetuado com sucesso!!!' 10 40
}


backup(){

var_bac=$(dialog --stdout --backtitle SUPER_BACKUP --title BACKUP --inputbox 'Digite o caminho' 0 0)
if [ $? = 0 ]; then
find $caminho_backup$var_bac -mmin +10 >$verifica_existe
if test -s $verifica_existe
then
dialog --title 'CONFIRMACAO' --yesno 'backup de '$var_bac' ja existe!!!\nDeseja faze-lo mesmo assim?' 10 40
if [ $? = 0 ]; then
executa_backup
inicio
else
inicio
fi
else
executa_backup
inicio
fi
else
inicio
fi
}


restore(){
cd $caminho_backup
find -iname *.tar.gz |cut -c2- > $verifica_restore
rm -rf $radio_tmp
while test -s $verifica_restore
do
var=`head -1 $verifica_restore`
echo "$var '' off " >> $radio_tmp
sed -i '1d' $verifica_restore
done
var1=`cat $radio_tmp` >/dev/null
var_restore=$(dialog --stdout --radiolist 'teste' 0 0 0 $var1)
if [ $? = 0 ]; then
dialog --title 'AVISO' --yesno 'Confirma restore de : '$var_restore 0 0
if [ $? = 0 ]; then
var2=$(dialog --stdout --backtitle SUPER_BACKUP --title RESTORE --inputbox 'Digite o caminho que deseja restaurar' 0 0 )
if [ $? = 0 ]; then
cd $var2
tar xvzf $caminho_backup$var_restore >/dev/null
dialog --title 'teste' --msgbox 'Restaurado com sucesso !!!' 0 0
inicio
else
dialog --title 'teste' --msgbox 'Restore cancelado' 0 0
inicio
fi
else
dialog --title 'teste' --msgbox 'Restore cancelado' 0 0
inicio
fi
else
dialog --msgbox 'Restore cancelado!!!' 0 0
inicio

fi

}


ler_log(){
cd $caminho_backup
find -iname *.log |cut -c2- > $logs
rm -rf $logs_tmp
while test -s $logs
do
var=`head -1 $logs`
echo "$var '' off " >> $logs_tmp
sed -i '1d' $logs
done
var1=`cat $logs_tmp` >/dev/null
var_restore=$(dialog --stdout --radiolist 'teste' 0 0 0 $var1)
if [ $? = 0 ]; then
dialog --title 'Leitura' --textbox $caminho_backup$var_restore 0 0
inicio
else
dialog --msgbox 'Leitura Cancelada!!!' 0 0
inicio
fi
}

inicio





15. Re: Programa para backup e restore [RESOLVIDO]

Rafael Lopes de souza
relz

(usa Debian)

Enviado em 21/11/2008 - 08:41h

NOsssssssssssssssssssssssaaaaaaaa
HUAuhhua
ta passa sua conta pra mim fazer o deposito.. hehe

Poxa cara mto showw...
soh uma coisa.. n sei se vcs fazem outros esquema mas tp.. as funções do case eu tenho q colocar antes do case em si.. pois se nao ele não le...
tem algum macete?



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts