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.500 ]
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
Script para média anual de aluno
Verificando se uma placa de rede está presente
Samba - Forçar usuário a alterar senha no próximo logon
Script para manutenção de um servidor asterisk
Backup interativo (exemplo de shell script)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta