Backup, gerando no final uma imagem .iso dos arquivos !!
Publicado por Fábio Flores 26/02/2007
[ Hits: 7.106 ]
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 #
Multiplos gerenciadores nome do seu pacote
Advix - controle de processos judiciais para advogados
script testador de ips para rede wireless
Nenhum comentário foi encontrado.
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