Script simples de Backup para os diretórios listados abaixo do /
Publicado por Igor Teixeira da Rocha (última atualização em 18/05/2012)
[ Hits: 7.777 ]
Bom pessoal, esta é a minha primeira contribuição aqui no VOL, é um script simples, sem grandes implementações, pois ele
simplesmente comprimi os diretórios listados abaixo do /.
Mas não deixa de ser útil, pois imagine sem querer rodar um rm -r /etc ao invés de etc(que poderia ser uma cópia do /etc em algum diretório), bastaria descompactar o backup e mover o etc abaixo do barra(mv etc /), pronto os arquivos de configuração estão todos ali de novo, rsrsrs..(sei que parece uma situação difícil mas pode acontecer rsrsrs).. Espero que eu possa ajudar algum novato assim como eu :)
“Aquele que não compartilha seu conhecimento, deixa morrer consigo os frutos de sua sabedoria.”
Abraço galera....
#!/bin/bash
# script simples de backup
# formatação da Data no nome do arquivo .tar.gz
DATA_BKP=$(date "+%d/%m/%y")
export DATA_BKP
# listagem dos diretórios em formato 'single-column' única coluna
DIR_BARRA=$(ls / --format='single-column')
export DIR_BARRA
# Baner exibido no inicio do Backup
clear_console
for i in $(seq 1 3)
do
echo -e '\t\t\t\e[44;37m ###########################################\e[0m'
sleep 1s
done
echo -e '\t\t\t\e[36m Inicializando Backup automático de todo FileSystem ...\e[0m'
echo $'\t\t Listando os Diretórios atuais abaixo do FileSystem Principal (/).. '
echo $DIR_BARRA
echo ""
echo " Aguarde enquanto o backup é inicializado...."
sleep 1
echo ""
# Variavel auxiliar que ira receber o nome de cada do diretório a cada interação do loop for
aux=1
export aux
# backup propiamente dito
# realiza um loop enquanto o comando ls / --format='single-column'
for i in $(ls / --format='single-column')
do
# atribui a variavel aux o nome do diretorio corrente no loop
aux=$i
# compacta o diretório que listado, atribuindo a ale o nome do diretório
# com a data atual, exemplo etc_14_05_2012.tar.gz e salva no diretório corrente
# Caso haja algum erro na execução do backup a saida padrão de erro STDERROR
# é jogada para dentro de um arquivo. (arq.erro)
# e um arquivo chamado info_backup.log é criado com as informações do ocorrido.
tar -cvzf ${i}`date +%Y_%m_%d`.tar.gz /$i 2>> arq.erro
if [ $? != 0 ];then
echo "Erro ao realizar backup do FileSystem $i ,rodar novamente" >> info_backup.log
else
echo "Backup do FileSystem $i realizado com sucesso na data $(date)"
fi
done
# fim
Atualização automática Debian / Ubuntu
Não consigo executar função, usando Script
Monitor de recursos do sistema
Mapeamento de servidores e computadores pessoais
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
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









