Backup, gerando no final uma imagem .iso dos arquivos !!
Publicado por Fábio Flores 26/02/2007
[ Hits: 7.086 ]
Depois de tantas perdas que sofri na vida, de dados é claro :) resolvi fazer um script para "backapear" os dados do meu notebook. Este script funciona tanto em notebook quanto desktop, basta ter o cdrtools instalado!
Quando executar o script, deve passar por parâmetro os arquivos e diretórios que vc deseja fazer o backup. Ao final ele gera um arquivo .iso para ser gravado em uma mídia, e todas as operações são registradas em um arquivo de log que fica em ~/logs_backup.
Valeu! Fábio "cyberwolf" Flores
#!/bin/bash # # Uso: backupdados <diretorio1> <diretorio2>...<arquivo4> # # Programa para fazer backup automatizado de arquivos e diretórios que são passados # por parâmetros, gerando no final um arquivo .iso para ser gravado em uma mídia. # Caso o programa não consiga gerar o arquivo imagem então os dados ficam copiados # em /tmp/bckp_dadosddmmaaa/, todas as operações são registradas em um arquivo # de log que fica no diretório ~/logs_backup que é criado automaticamente. # Uso este programa(script) no meu notebook, para fazer backup dos arquivos mais importante # depois gravo um dvd com a imagem(.iso) criada. # Coloquei bastante controle de erros (modúlos anti-bocó :) ) no caso de alguns deslizes # que eu mesmo cometo. # Valeu!! # Abraços # Fábio "Cyberwolf" Flores # # # Verifica se foi passado parâmetros no programa # ---------------------------------------------- if [ $# -le 0 ] then echo "Erro -> Uso: backupdados <diretorio1> <diretorio2>...<arquivo4>" exit 1 fi # Controle da "existência" do aplicativo mkisofs para gerar a imagem # ------------------------------------------------------------------- if [ -f /usr/bin/mkisofs ] then controle=1 else echo -e "Erro -> A imagem não sera gerada:\no aplicativo mkisofs não foi localizado ou\nnão esta instalado ou\nvocê não tem permisão para executar" controle=2 fi # Verifica se os dados que serão "backupeados" existem e se o # usuário tem permisão de leitura dos mesmos # ---------------------------------------------------------- i=1 erro=0 while [ $i -le "$#" ] do if [ ! -r `echo $* | cut -f$i -d" "` ] then erro=1 break fi i=`expr $i + 1` done if [ $erro -eq 1 ] then echo -e "Erro -> Uso: Um ou mais dados são inexistentes ou\nestão indisponíveis para leitura..." exit 1 fi # A primeira vez que é rodado o backup cria o diretório, # e a estrutura de logs no diretório do usuário # ------------------------------------------------------ if [ ! -d ~/logs_backup ] then mkdir ~/logs_backup echo "Diretorio logs_backup criado..." fi echo -e "###################################\n# LOG DO BACKUP DO DIA `date +%d/%m/%Y` #\n###################################" >> ~/logs_backup/backup_dados`date +%d%m%Y`.txt # Cria o diretório temporário para cópia do backup # ------------------------------------------------ mkdir /tmp/bckp_dados`date +%d%m%Y` 2> /dev/null # Copia todos os arquivos e diretórios para /tmp/bckp_dadosddmmaaa/ e gera # o log das cópias em ~/logs_backup # ------------------------------------------------------------------------- echo "Copiando os dados para backup..." cp $@ /tmp/bckp_dados`date +%d%m%Y` -Rfv >> ~/logs_backup/backup_dados`date +%d%m%Y`.txt 2> /dev/null # Verifica a possibilidade de gerar a imagem # ------------------------------------------ if [ $controle -eq 1 ] then # Gera o arquivo .iso para gravação em mídia # ------------------------------------------ echo -e "################################################\n# GERANDO A IMAGEM .iso PARA GRAVAÇÃO EM MÍDIA #\n################################################" >> ~/logs_backup/backup_dados`date +%d%m%Y`.txt echo "Gerando a imagem..." mkisofs -r -o bckp_dados`date +%d%m%Y`.iso -J -V"bckp_dados`date +%d%m%Y`" /tmp/bckp_dados`date +%d%m%Y` 2>> ~/logs_backup/backup_dados`date +%d%m%Y`.txt echo -e "#################\n# Fim do Backup #\n#################" >> ~/logs_backup/backup_dados`date +%d%m%Y`.txt # Verifica se a imagem foi gerada corretamente # -------------------------------------------- if [ -f bckp_dados`date +%d%m%Y`.iso ] then echo "Arquivo imagem gerado com sucesso..." else echo "Erro: Ocorreu um erro na hora de tentar gerar a imagem" exit 3 fi # Se conseguiu gerar a imagem exclui o diretório /tmp/bck_dadosddmmaaa/ # ---------------------------------------- rm -rf /tmp/bckp_dados`date +%d%m%Y` echo "Fim do Backup" else echo -e "Não foi gerada a imagem pois mkisofs não estava disponível,\na copia do backup ficou em /tmp/bckp_dados`date +%d%m%Y`" echo "Fim do Backup" fi #
Autenticando automaticamente o Speedy Business
Remover arquivos com mais de "N" dias da Lixeira do Samba
Nenhum comentário foi encontrado.
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
Melhorando a precisão de valores flutuantes em python[AJUDA] (9)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)
[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