shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Script para Backup Diferencial Parcial de Arquivos usando Diff


From: Julio C. Neves
Subject: Fwd: Script para Backup Diferencial Parcial de Arquivos usando Diff
Date: Sat, 18 Mar 2017 09:32:10 -0300

Minha primeira postagem no grupo não é para mim, mas para o Heitor Medrado de Farias, o papa do Bacula (sw livre de Backup), que está fazendo um trabalho de pesquisa para seu mestrado e deseja saber se alguém conhece algum macete de se marcar ou descobrir, por shell, quais trechos de arquivos foram alterados a partir do último backup, para criar um script de backup incremental.

Não tenho nenhuma vivência nesta área e portanto não conheço a lógica desta marcação sequer um algorítimo típico. O Heitor é nosso colega de lista e responderá a tudo que for colocado na lista.

A minha proposta inicial havia sido fazer um diff entre o que vc quer becapear e o que foi becapeado, mas para não ter de comparar absolutamente todos os arquivos, primeiramente ele deveria fazer, assumindo que os becapes estão em dir.bkp e os arquivos em dir:

Alterados=$(diff <(ls -l dir) <(ls -l dir.bkp) | awk '{print $9 }' # pega nomes dos arquivos alterados

Em seguida montaria um for para descobrir, via diff, os blocos alterados.

Mas ele colocou uma série de óbices, com:
 - O becape estar em outra máquina;
 - Estar zipado;
 - ...

Desisti e trouxe para a lista.


Abcs,
Julio

Damos treinamento em sua empresa por 
um preço, 
no mínimo, 50% mais barato que qualquer curso,
com certificado e nota fiscal.

​​
Nosso time de instrutores in company é formado somente por
autores
​ ​
de Best Sellers
​ ​
​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico


---------- Mensagem encaminhada ----------
De: Heitor Faria <address@hidden>
Data: 18 de março de 2017 08:53
Assunto: Re: Script para Backup Diferencial Parcial de Arquivos usando Diff
Para: "Julio C. Neves" <address@hidden>


Julio,

Vc que já está acustumado e sabe explicar melhor que eu, não quer perguntar lá na lista de Shell se o pessoal conhece alguma solução?

Abraços,

----- Original Message -----
> From: "Heitor Faria" <address@hidden>
> To: "Julio C. Neves" <address@hidden>
> Sent: Friday, March 17, 2017 7:46:02 PM
> Subject: Re: Script para Backup Diferencial Parcial de Arquivos usando Diff

> Olá, Julio,
>
> Caso não consiga nada melhor, vou usar o diff.
> Mas acho que uma solução melhor seria algo parecido com isso:
> https://github.com/datto/dattobd
> No entanto gostaria de fazer o backup dos blocos modificados por arquivo. Não
> sei se vai ser possível.
>
> Abraços,
>
>
> ----- Julio C. Neves <address@hidden> wrote:
>> Nunca ouvi falar na opção -H no diff.
>>
>> Depois eu andei pensando e outro cmd legal para vc ver diferenças é o comm.
>> Veja seu uso pela internet, já que seu man e seu help ão muito ruins.
>>
>> Abcs,
>> Julio
>>
>> *Damos treinamento em sua empresa por *
>> *um preço, no mínimo, 50% mais barato que qualquer curso,*
>> *com certificado e nota fiscal.*
>>
>>
>> Nosso time de instrutores *in company* é formado somente por
>>
>>
>> autores
>>
>>
>> de
>> *Best Sellers *laureados sobre os temas. P. exemplo:
>>
>> Shell básico e Programação em Shell Julio Neves
>> Bacula Heitor Medrado
>> Zabbix Adail Host
>> Produção Gráfica e Videografismo Cadunico
>>
>>
>> 2017-03-17 15:28 GMT-03:00 Heitor Faria <address@hidden>:
>>
>> > Olá, Julio, [escapuliu o ctrl + enter antes]
>> >
>> > Não sei como seria vantagem para a cópia de arquivos já no sistema, mas
>> > para dump de bancos de dados talvez seja muito vantajoso.
>> > Depois de ter um dump do backup full (que nesse script o cara salva em
>> > ./master), talvez eu possa fazer diff depois comparando um dump para fifo
>> > com o conteúdo do dump que está lá no arquivo, gerando um .diff.
>> >
>> > This is my differential backup script. I've put it into cron so it runs
>> > every hour automatically. I've a master sql dump files in
>> > '/master/DBNAME' and I compare this file to the most recent dump and
>> > calculate diff.
>> > Basically it mysqldumps database without buffering (-q), by adding ' to
>> > table and field names. Then splits this file into pieces each containing
>> > 500.000 lines. If you don't have big SQL dumps (more than 700-800Mb) you
>> > can skip this step, this step is needed to reduce memory required by
>> > diff. I should say that I'm running this diff on a server with 2Gb ram.
>> > If you have less memory you can reduce number of lines per split file
>> > eg: instead of 500.000 line you can use 50.000.
>> > After splitting files I compare differences between directories /master
>> > and /target. Just make sure that you have your master directory
>> > containing master database dumps which are split using same number of
>> > lines.
>> > Last step compresses diff file using bzip2 and securely transfer to a
>> > designated backup server.
>> >
>> >
>> > #!/bin/bash
>> > # Copyright (C) 2002-2003 Kayra Otaner <kayra@*stripped*>
>> > # This software may be freely redistributed under the terms of the GNU
>> > # public license.
>> > #
>> > # MySQL differential backup script.
>> >
>> > FILENAME=`date --date "today" +"%Y-%m-%d_%H"`
>> > clear
>> > cd /home/backup/db/
>> > mysqldump -CQq --add-drop-table DBNAME -ubackup -pXXXXX >
>> > ./target/DBNAME.sql
>> > cd target
>> > split -l 500000 DBNAME.sql DBNAME
>> > cd ..
>> > rm ./target/DBNAME.sql
>> > diff -N -H -U 2 ./master ./target > diff
>> >
>> > cp diff $FILENAME
>> > bzip2 -9f $FILENAME
>> > scp $FILENAME.bz2 backup@backup:~/db/
>> >
>> >
>> >
>> >
>
> --
> ===========================================================================Heitor
> Medrado de Faria  | Bacula do Brasil• Não seja tarifado pelo tamanho dos seus
> backups, conheça o Bacula Enterprise: http://www.bacula.com.br/enterprise/
> Ministro treinamento e implementação in-company do Bacula Community:
> http://www.bacula.com.br/in-company/
> (61) 98268-4220 | www.bacula.com.br
> ============================================================================
> Indicamos também as capacitações complementares:• Shell básico e Programação em
> Shell com Julio Neves.
> • Zabbix com Adail
> Host.============================================================================

--
===========================================================================
Heitor Medrado de Faria | Bacula do Brasil
• Não seja tarifado pelo tamanho dos seus backups, conheça o Bacula Enterprise: http://www.bacula.com.br/enterprise/
• Ministro treinamento e implementação in-company do Bacula Community: http://www.bacula.com.br/in-company/
(61) 98268-4220 | www.bacula.com.br
============================================================================
Indicamos também as capacitações complementares:
• Shell básico e Programação em Shell com Julio Neves.
• Zabbix com Adail Host.
============================================================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]