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.516 ]
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
Formatar o terminal com cores e efeitos
Calcular média escolar no shell
Monitoramento automático de logs e envio por e-mail – Fácil e explicado
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (7)