Backup, gerando no final uma imagem .iso dos arquivos !!
Publicado por Fábio Flores 26/02/2007
[ Hits: 7.172 ]
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 #
Script para excluir tudo de um local menos uma pasta ou arquivo selecionado
Download de Wallpapers de Fotos do Espaço
Extrair arquivos pelo Nautilus com 7z e Yad
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Youtube e networkmeneger para de funcionar (0)
Minha rede tem um espaço invisível que não dá pra digitar o nome da re... (1)
Pedagogia no brasil não passa de alfabetização por m4sturbação mental ... (2)
compilação samba 4.22 rock linux 9.5 (3)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (7)