Backup, restore e leitura de log com Dialog
Publicado por nelio 01/03/2009
[ Hits: 7.923 ]
Pessoal, um colega do fórum estava precisando de um script que realiza se a função do titulo. Eu o fiz e vou postar aqui, pois achei que ficou bem legal e da uma grande idéia de como se trabalhar com dialog.
Eu sei que existem bugs no programa como está discrito no script e outros como títulos, etc... bestinhas, mas não pretendo continuar trabalhando nele, e do jeito que está se consegue trabalhar legal em cima. Pórem, qualquer dúvida se eu poder ajudar, postem ai....
#!/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
Script para autenticação Velox Empresarial
Correção Bug Kurumin/Som on-boad
Front-end para backup em CDRW e DVDRW
Atulizações do DAT antivírus Mcafee
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (1)
O que você está ouvindo agora? [2] (180)