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.796 ]
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
ola_mundo.sh - Mostra a mensagem "Olá Mundo" na tela
Excluir Arquivos Velhos de um Diretório (limparDir.sh)
birthday - script que manda email no dia do aniversário
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









