Backup interativo (exemplo de shell script)
Publicado por Alan Rafael Rodrigo Batista 06/12/2003
[ Hits: 12.797 ]
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
Calcular média escolar no shell
Personalizar teclado, alterar função de uma tecla
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)
Gestão de Ambiente em uma rede Linux (2)
Ajuda Pra Melhoria do NFTABLES. (7)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (4)