Backup, gerando no final uma imagem .iso dos arquivos !!
Publicado por Fábio Flores 26/02/2007
[ Hits: 6.968 ]
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 #
Instalar WebCam LG LIC-110 e derivadas
Eu vejo gente morta. Descubra se alguém já morreu!
verificando estado da conexão velox
Nenhum comentário foi encontrado.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (21)
Debian Bookworm para a versão beta Debian 13 Trixie (1)
material de assembly x64 [RESOLVIDO] (5)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba