Backup interativo (exemplo de shell script)
Publicado por Alan Rafael Rodrigo Batista 06/12/2003
[ Hits: 12.974 ]
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
Script para instalação de Aplicativos
Adicionar usuários para serem autenticados pelo squid
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









