Backup, restore e leitura de log com Dialog
Publicado por nelio 01/03/2009
[ Hits: 7.865 ]
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
Controlando bloqueios de máquinas com squid.conf
configurar do samba e pureftpd
Um super limpador do sistema KDu
Script para encontrar arquivos .wam, .mpeg
Nenhum comentário foi encontrado.
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
Jogando com Proton no LInux (0)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)