Pular para o conteúdo

Backup com TAR em LOG usando FITA LTO/DLT com filtro de arquivos

Tendo a necessidade de realizar backup, desenvolvi este simples e prático script para realizar backup em fita LTO/DLT.
O script possui um importantíssimo recurso de filtro para formato de arquivos, podemos desviar do backup os arquivos MP3, AVI, ou qualquer extensão que não seja necessário para o uso final.

etapas do script

1 buscar e indexar arquivos conforme a lista de extenção de arquivo
2 rebobinar midia
3 gravar arquivos listados em lista de indexação
4 geração de log p/ controle
5 apagar lista index..

forma de uso :>
chamar o script no terminal informando o diretório, o próprio script realiza a busca dentro do diretório os arquivos.

$ ./backup.sh /home/usuario/Documentos/
Roberto Fettuccia rpaulafettuccia
Hits: 9.389 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Tendo a necessidade de realizar backup, desenvolvi este simples e prático script para realizar backup em fita LTO/DLT.
O script possui um importantíssimo recurso de filtro para formato de arquivos, podemos desviar do backup os arquivos MP3, AVI, ou qualquer extensão que não seja necessário para o uso final.

etapas do script

1 buscar e indexar arquivos conforme a lista de extenção de arquivo
2 rebobinar midia
3 gravar arquivos listados em lista de indexação
4 geração de log p/ controle
5 apagar lista index..

forma de uso :>
chamar o script no terminal informando o diretório, o próprio script realiza a busca dentro do diretório os arquivos.

$ ./backup.sh /home/usuario/Documentos/
Download backup-find-fita.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash

origem=$1
destino=$2
logx=/var/log/backup.log.lista
listatmp=/tmp/lista.backup.txt

echo "<<<INICIO DO BACKUP>>>" >> $logx
echo $(date +%D" ás "%H:%M:%S) >> $logx
echo "rebobinando fita.." >> $logx
mt -f /dev/st0 rewindv >> $logx
echo "" > $listatmp

clear
echo "criando lista de arquivos..."
# Arquivos aprovados para backup...
find $origem -name "*.pdf" >> $listatmp      
find $origem -name "*.doc" >> $listatmp      
find $origem -name "*.docx" >> $listatmp
find $origem -name "*.xls" >> $listatmp
find $origem -name "*.xlsx" >> $listatmp
find $origem -name "*.ppt" >> $listatmp
find $origem -name "*.pptx" >> $listatmp
find $origem -name "*.pps" >> $listatmp
find $origem -name "*.ppsx" >> $listatmp
find $origem -name "*.html" >> $listatmp
find $origem -name "*.htm" >> $listatmp
find $origem -name "*.txt" >> $listatmp
find $origem -name "*.lnk" >> $listatmp
find $origem -name "*.ods" >> $listatmp
find $origem -name "*.odt" >> $listatmp
find $origem -name "*.xlt" >> $listatmp
find $origem -name "*.gif" >> $listatmp
find $origem -name "*.png" >> $listatmp
find $origem -name "*.jpg" >> $listatmp
find $origem -name "*.bmp" >> $listatmp
find $origem -name "*.zip" >> $listatmp

echo "gerando backup..."
echo "
-------------log-------------
" >> $logx

# regras arquivos

tar -cvf /dev/st0 $origem >> $logx
echo "removendo arquivo temp..."
rm $listatmp

Dialog para bash 2

Copiar subdiretório presente em vários diretórios

Atualizando se Slackware

Compilação de módulos para VMware 12.5.7 no Fedora 26

Calculadora de host de uma rede

#1 Comentário enviado por danniel-lara em 31/08/2011 - 12:01h
show o script , parabens
podemos melhorar ele para enviar e-mail para controle ehehe
Abraço
#2 Comentário enviado por rpaulafettuccia em 31/08/2011 - 17:28h
versão 2.0 do script melhorado,.....!!!

#!/bin/bash

origem=$1
logx=/var/log/backup.log.lista
listatmp=/tmp/lista.backup.txt

echo "<<<INICIO DO BACKUP>>>" >> $logx
echo $(date +%D" ás "%H:%M:%S) >> $logx
echo "rebobinando fita.." >> $logx
mt -f /dev/st0 rewind >> $logx
echo "" > $listatmp

clear
echo "criando lista de arquivos..."

# Arquivos aprovados para backup...
find $origem -name "*.pdf" >> $listatmp
find $origem -name "*.doc" >> $listatmp
find $origem -name "*.docx" >> $listatmp
find $origem -name "*.xls" >> $listatmp
find $origem -name "*.xlsx" >> $listatmp
find $origem -name "*.ppt" >> $listatmp
find $origem -name "*.pptx" >> $listatmp
find $origem -name "*.pps" >> $listatmp
find $origem -name "*.ppsx" >> $listatmp
find $origem -name "*.html" >> $listatmp
find $origem -name "*.htm" >> $listatmp
find $origem -name "*.txt" >> $listatmp
find $origem -name "*.lnk" >> $listatmp
find $origem -name "*.ods" >> $listatmp
find $origem -name "*.odt" >> $listatmp
find $origem -name "*.xlt" >> $listatmp
find $origem -name "*.gif" >> $listatmp
find $origem -name "*.png" >> $listatmp
find $origem -name "*.jpg" >> $listatmp
find $origem -name "*.bmp" >> $listatmp
find $origem -name "*.cdr" >> $listatmp
find $origem -name "*.cmx" >> $listatmp
find $origem -name "*.eml" >> $listatmp
find $origem -name "*.mdb" >> $listatmp
find $origem -name "*.dwg" >> $listatmp
find $origem -name "*.bak" >> $listatmp
find $origem -name "*.ctb" >> $listatmp
find $origem -name "*.eps" >> $listatmp
find $origem -name "*.rar" >> $listatmp
echo "
-------------log-------------
" >> $logx
echo "escrevendo dados na midia..."
tar -cvf /dev/st0 -L 4697620480 $origem
tar -cv /dev/st0 >> $logx
echo "finalizando..."
sleep 2
clear
echo "removendo arquivo temp..."
rm $listatmp
echo "ejetando midia..."
mt -f /dev/st0 eject
---end---script

Este script atualizado realiza o split em varias fitas, ao atingir o tamanho determinado do backup ele solicita outra fita, utilizei o parâmetro "-L" do tar, pois realizo o backup de 200Gb em fitas DLT de 40Gb, que lol...

espero que gostem...
#3 Comentário enviado por newtec em 16/01/2014 - 17:41h
NÃO É NECESSÁRIO APAGAR A FITA ?
#4 Comentário enviado por rpaulafettuccia em 17/01/2014 - 21:22h

[3] Comentário enviado por newtec em 16/01/2014 - 17:41h:

NÃO É NECESSÁRIO APAGAR A FITA ?
Observe no script este trecho abaixo...
echo "rebobinando fita.." >> $logx
mt -f /dev/st0 rewind >> $logx

na verdede esse script cria um binário direto na fita, desse modo a fita trabalha de forma sequêncial, diferente de um hdd que pode ler "rê-ler" um determinado bit,

ao rebobinar apaga o cabeçalho do arquivo anterior, simples assim..

Contribuir com comentário

Entre na sua conta para comentar.