Backup interativo (exemplo de shell script)
Publicado por Alan Rafael Rodrigo Batista 06/12/2003
[ Hits: 12.949 ]
Escrevi este shell script com o intuito de posta-lo como exemplo para
que outras pessoas que queiram aprender esta linguagem o tenham como
exemplo.
Em breve postarei um artigo explicando passo a passo este script para
que possam iniciar nesta linguagem tão interessante e útil
#!/bin/bash ################################################################## #Script de backup interativo #Escrito por Alan Rafael R. Batista #website www.ntsim.com.br #Qualquer alteração envie um email para rafael@tecnologia.com.br #Você é bem vindo para alterar este script no que for necessário! # ################################################################## echo -e " Este é o Script de backup Interativo Desenvolvido por: Alan Rafael R. Batista Ele lhe farah algumas perguntas Para a boa execução deste script vc deve estar com privilegios de super-usuario (root) Vamos comecar... tecle enter........ " read nada # lista as particoes de disco montadas df echo -e "Estas são as particoes de disco montadas. Deseja desmontar alguma antes de começar? Obs: Se elas estiverem na fstab serão remontadas no final deste script. [1] para sim [2] para nao Opcao: \c" read desmont [ "$desmont" = 1 ] && conf=1 [ "$desmont" -gt 2 ] && conf=1 while [ "$conf" = 1 ] do #inicio desmont=1 if [ "$desmont" = 1 ] then echo -e "Qual destas vc quer desmontar? " cont=1 desmont2=1 while [ "$desmont" = 1 ] do echo -e "Digite o caminho igual o acima e tecle enter: \c" read caminho eval caminho`echo $cont`=$caminho # se digitado o caminho if [ -n "$caminho" ] then echo "" umount $caminho echo -e " Acabo de desmontar $caminho " cont=`expr $cont + 1` else echo "Voce não digitou o caminho suponho que desistiu de desmontar!" fi echo -e "Deseja desmontar mais alguma partição? [1] para sim [2] para nao Opcao: \c" read desmont if [ "$desmont" = 1 ] then conf=1 elif [ "$desmont" = 2 ] then echo "Beleza parei" conf=2 fi done elif [ "$desmont" -gt 2 ] then echo "Opcao invalida tente [1] sim ou [2] nao" echo -e "Opcao: \c" read desmont [ "$desmont" = 1 ] && conf=1 [ "$desmont" -gt 2 ] && conf=1 [ "$desmont" = 2 ] && conf=2 #Fim do deamont=1 fi #fim da pergunta done while [ -z $pasta ] do echo -e " Escreva agora o caminho da pasta que quer fazer backup Caminho: \c" read pasta if [ \( -z "$pasta" \) -o \( ! -d "$pasta" \) ] then echo "Voce deve colocar um caminho para o Backup e ele tem que ser válido" pasta= fi done while [ -z $lugar ] do echo -e " Escreva agora o caminho da pasta onde vamos gravar o backup Obs: Verifique se tem espaço nesta pasta hein. Caminho: \c" read lugar if [ \( -z "$lugar" \) -o \( ! -d "$lugar" \) ] then echo "Voce deve colocar um caminho para o Backup ser salvo e ele tem que ser válido" lugar= fi done echo -e " Agora escreva o nome do backup Obs: O backup tera o nome precedido da data de hoje Nome: \c" read nbkp if [ -z $nbkp ] then $nbkp=backup echo "Se voce não colocou o nome vou assumir o nome \"backup\"" fi echo -e "É agora vamos começar a fazer o backup!!! Prepare-se será uma aventura emocionante " DATA=`date +%d-%m-%Y` tar cvzf $lugar/$DATA-$nbkp.tar.gz $pasta >> $lugar/$DATA-log.txt 2> /dev/null i=1 [ -z "$cont" ] && cont=0 while [ "$i" -le "$cont" ] do echo -e "Agora vou remontar as particões que estavam no fstab e foram desmontadas " eval echo \$caminho$i eval montar=\$caminho$i if [ -n "$montar" ] then eval mount \$caminho$i eval echo -e "Montei \$caminho$i" fi i=`expr $i + 1` done
Melhorando a performance do sistema...
Mostrar conifguração da placa de rede
Criar senha para abrir determinado programa
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









