'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-03-18 12:32:10 UTC
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 <***@bacula.com.br>
Data: 18 de março de 2017 08:53
Assunto: Re: Script para Backup Diferencial Parcial de Arquivos usando Diff
Para: "Julio C. Neves" <***@gmail.com>
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 -----
fifo
containing
you
--
============================================================
===============Heitor
--
===========================================================================
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.
============================================================================
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 <***@bacula.com.br>
Data: 18 de março de 2017 08:53
Assunto: Re: Script para Backup Diferencial Parcial de Arquivos usando Diff
Para: "Julio C. Neves" <***@gmail.com>
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 -----
Sent: Friday, March 17, 2017 7:46:02 PM
Subject: Re: Script para Backup Diferencial Parcial de Arquivos usando
DiffSubject: Re: Script para Backup Diferencial Parcial de Arquivos usando
Olá, Julio,
Caso não consiga nada melhor, vou usar o diff.
https://github.com/datto/dattobd
No entanto gostaria de fazer o backup dos blocos modificados por arquivo.
NãoCaso não consiga nada melhor, vou usar o diff.
https://github.com/datto/dattobd
No entanto gostaria de fazer o backup dos blocos modificados por arquivo.
sei se vai ser possÃvel.
Abraços,
comm.Abraços,
Nunca ouvi falar na opção -H no diff.
Depois eu andei pensando e outro cmd legal para vc ver diferenças é o
Depois eu andei pensando e outro cmd legal para vc ver diferenças é o
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
Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
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
Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
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
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
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
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
500.000 lines. If you don't have big SQL dumps (more than 700-800Mb)
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
# 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
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
# 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
============================================================
Medrado de Faria | Bacula do Brasil⢠Não seja tarifado pelo tamanho dos
seusbackups, conheça o Bacula Enterprise: http://www.bacula.com.br/enterprise/
â¢http://www.bacula.com.br/in-company/
(61) 98268-4220 | www.bacula.com.br
============================================================
================(61) 98268-4220 | www.bacula.com.br
============================================================
Indicamos também as capacitações complementares:⢠Shell básico e
Programação emShell com Julio Neves.
⢠Zabbix com Adail
Host.=======================================================
=====================⢠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.
============================================================================