Este tipo de backup é útil para quem precisa compactar uma quantidade muito grande de arquivos diariamente sem perda de tempo. O método utilizado para compressão é o "TAR.GZ", que suporta (compactado) tamanhos superiores a 2 GB, diferentemente de arquivos "ZIP" que se corrompem.
Para começar, antes de mais nada precisaremos definir um local para guardar os scripts que serão criados.
Crie a pasta /script-backup:
# mkdir /script-backup
# cd /script-backup
Para cada dia da semana criei uma pasta dentro do meu drive (HD externo) e dei permissão total.
Antes precisei montar a partição (sdb1 é onde está meu HD externo ligado na USB):
# mount /dev/sdb1 /backup
# mkdir /backup/segunda
# chmod 777 /backup/segunda
.
.
.
# mkdir /backup/sexta
# chmod 777 /backup/sexta
# umount /dev/sdb1
Esta é uma forma mais organizada de armazenar os backups. Crie as pastas de acordo com a necessidade, colocando o nome de acordo com o dia da semana.
Para criar os scripts, abra seu editor de textos (no meu caso uso o VIM) e acrescente o código abaixo. Salve dentro da pasta /script-backup:
# vim bkp-segunda
Faça este mesmo procedimento para os outros dias necessários. Como meu backup é diferenciado para cada dia da semana, fiz o mesmo procedimento 5 vezes (de segunda a sexta).
OBS.: Lembre-se de alterar a variável "DIA" que está na linha 6 para não correr o risco de apagar dados por engano.
#######################################
# SCRIPT BACKUP DIÁRIO SERVIDOR DADOS #
#######################################
# DEFINE AS VARIÁVEIS QUE SERÃO UTILIZADAS
DIA=segunda-feira
DATA=`date +%d-%m-%Y-%H.%M`
# MONTA O PONTO DE MONTAGEM /BACKUP
mount /dev/sdb1 /backup
montado=`mount | grep /backup`
# SE A MONTAGEM NÃO ESTIVER UP ENTÃO FECHA, CASO CONTRÁRIO REALIZA O BACKUP
if [ -z "$montado" ]; then
exit 1
else
# APAGA OS BACKUPS ANTIGOS DO MESMO DIA DA SEMANA
rm -rf /backup/"$DIA"/*.tar.gz
# COMPACTA TODO O CONTEÚDO DAS PASTAS DENTRO DE /DADOS INDIVIDUALMENTE.
tar -zcvf /backup/"$DIA"/contabil-"$DATA".tar.gz /dados/contabil/
tar -zcvf /backup/"$DIA"/diretoria-"$DATA".tar.gz /dados/diretoria/
tar -zcvf /backup/"$DIA"/financeiro-"$DATA".tar.gz /dados/financeiro/
tar -zcvf /backup/"$DIA"/fiscal-"$DATA".tar.gz /dados/fiscal/
tar -zcvf /backup/"$DIA"/pessoal-"$DATA".tar.gz /dados/pessoal/
tar -zcvf /backup/"$DIA"/vendas-"$DATA".tar.gz /dados/vendas/
# DESMONTA O PONTO DE MONTAGEM /BACKUP
umount /backup
fi
# FIM DAS INSTRUÇÕES
Para tornar os scripts executáveis faça o seguinte:
# chmod +x bkp-segunda
[1] Comentário enviado por
malanga em 01/11/2007 - 13:29h:
opa
vc tem algum coisa sobre scritp de backup em DVDrw??
quero formatar o DVD antes de cada backup
[2] Comentário enviado por
cmercaldo em 01/11/2007 - 14:40h:
Grande Christiano.
Achei seu artigo muito interessante.
Gostaria apenas de demonstrar meus testes com o TARGZ.
Sugiro testar o seu backup com um arquivo maior que 2.1gb. Tive problemas em compactar arquivos com mais de 2.1bg e tive que optar pelo RAR.
Ficava assim:
TAR:
tar a -r -y -ow -m3 /opt/nt/institucional/bkINSTITUCIONAL-`date +%d%m%y`.rar /arquivos/institucional/*
Agora assim:
rar a -v1500000 -r -y -ow -m3 /opt/nt/institucional/bkINSTITUCIONAL-`date +%d%m%y`.rar /arquivos/institucional/*
AGORA consigo controlar o tamanho (-v1500000) dos arquivos gerados na compactação e os arquivos gerados são: bkINSTITUCIONAL.part1.rar, bkINSTITUCIONAL.part2.rar, bkINSTITUCIONAL.part3.rar.
Todos com 1.6gb e de fácil descompactação. (para descompactar com o rar, basta copiar o arquivo para o windows e descompactar normalmente ou utilize o comando unrar do linux)
Fica ai.....minha contribuição para o seu artigo!!
Att.
Claudio M
[3] Comentário enviado por
silmar.anjos em 01/11/2007 - 15:59h:
e como da o comando para descompactar ? via rar ?
[4] Comentário enviado por
ledilson em 05/11/2007 - 08:02h:
Opa!
Cada um cada um... Mas...
Você vai ter um script de back-up para cada dia da semana?
Não é melhor trocar "DIA=segunda-feira" por "DIA=`date +%a`" e deixar ele pegar o dia automaticamente?
Porque não usar Bzip2 no lugar de Gzip... ele compacta bem mais...
Parabéns pelo artigo...
Abraço!
[5] Comentário enviado por
metabolicbh em 05/11/2007 - 09:14h:
malanga, meu servidor não tem gravador (nem CD, nem DVD), portanto não tenho como testar para você. Mas creio que você encontrá alguma coisa deste tipo aqui no VOL. T+
Claudio M, realmente não fiz testes com arquivos maior que 2.1gb. Geralmente "zipo" mais QUANTIDADE do que TAMANHO. Valeu pela dica.
ledilson, desta forma funciona também, porém acho que o valor desta variavel é o dia da semana em Inglês (Sunday, Monday, Tuesday, Wednesday...), dai teria que mudar o nome das pastas... porém como expliquei no artigo, utilizo um script pra cada dia pois são backup's diferentes. Mesmo assim fica ai sua dica tb, vlw...
[6] Comentário enviado por
claudiobalbin em 17/01/2008 - 15:40h:
Fiz uma adaptação aqui na empresa utilizando o HD exerno com uma partição FAT32 para o backup, assim se o servidor parar por algum motivo basta plugar o HD em um outro micro para vizualisar os arquivos.
Excelente solução, parabéns!
[7] Comentário enviado por
emelicio em 08/05/2008 - 11:37h:
Solução Muito boa, mais estou tendo um probleminha, estou usando um pen-drive para o backup, e quando uso o crontab, ele não desmonta o ponto de montagem backup
Se executar o scrip diretamente funciona blz... mais pelo agendamento não Funciona.
O que será???
[8] Comentário enviado por
metabolicbh em 08/05/2008 - 15:37h:
Boa Tarde, emelicio . Cara, se você está executando o arquivo e o backup está sendo feito normalmente desmontando o pendrive, não teria porque não funcionar pelo Crontab também... Ele chega a fazer o backup quando você agenda no Crontab?? Tente inserir o usuario "root" na linha do seu cron para ele rodar como root e ver se faz. Qualquer dúvida pode perguntar... Abraços
[9] Comentário enviado por
fatreis em 27/05/2008 - 13:35h:
Meu nome é Fabio e estou iniciando com linux.
Pergunta 2 : Como faço para o linux identificar o HD externo USB ou via PCI ATA, plugo na USB e faço oq para apareçer este driver?
Pergunta 1 : onde eu crio esta pasta? "Crie a pasta /script-backup"
Pergunta 2 : onde crio e que nome dou aos arquivos dos scripts? "SCRIPT BACKUP DIÁRIO SERVIDOR DADOS "
Pergunta 3 : que nome dou a este arquivo com o código"# vim bkp-segunda".
[10] Comentário enviado por
metabolicbh em 27/05/2008 - 13:48h:
Boa tarde Fábio, seja muito bem vindo ao mundo Linux. Bom, pelo que posso ver você está com muitas dúvidas. Vamos por etapa:
Para que este script de backup funcione primeiro você deve criar os arquivos que irão conter os códigos para realização do backup (os SCRIPTS). O comando "VIM" + "nome do arquivo" abre o editor de texto padrão do Debian, para que você possa inserir todo o código que coloquei neste artigo. Ex.: "vim bkp-segunda" (cria o arquivo para realizar o backup de segunda-feira). Para criar a pasta padrão onde será salvo seus scripts você escolhe o caminho que preferir. Por exemplo: "mkdir /script-backup". Para montar a partição para acessar seu HD externo utilize o comando: "mount /dev/sdb1 /backup". Dispositivos externos USB geralmente são /DEV/SDB1 ou SDB2, etc...
[11] Comentário enviado por
fatreis em 27/05/2008 - 16:26h:
O linux não monta o sbd1 o mesmo informa que não existe, será que preciso reiniciar o linux?
Posso utilizar o Konsole para digitar estes comandos.
[12] Comentário enviado por
juthaijr em 28/05/2008 - 14:40h:
Senhores... Sou novato aí no Mundo linux e por isso gostaria da ajuda de vocês !!!
Acontece o seguinte, necessito automatizar todo o backup no Hd Externo qeu possuo de 500GB como fazer? uma vez que o mesmo está formatado em NTFS e o linux que utilizo REDHAT não o reconhece...
[14] Comentário enviado por
emelicio em 23/10/2008 - 20:01h:
Bom alterei um pouco o script do sistema de backup. O novo script esta realizando o backup corretamente, só que apresenta um probleminha...
Por exemplo:
Os nomes nos arquivos do backup, ficam diferentes dos nomes dos arquivos originais.
Nome original: Modelo de Carta de correção.doc
Nome no backup: Modelo de Carta de correção.doc
Nome original: PROMOÇÃO DE INVERNO.doc
Nome no backup: PROMOÇÃO DE INVERNO.doc
Na realidade ficam diferente apenas as letras ç e ã õ
Alguem sabe o que pode ser?
[15] Comentário enviado por
pcq2010 em 10/02/2010 - 08:08h:
Linux Backup
[16] Comentário enviado por
removido em 30/12/2010 - 01:43h:
emelicio
os arquivos quando interpretados através do shell, não são reconhecidos os caracteres com acento, "'ç" ,etc... uma dica seria você renomear os arquivos com letras minusculas e sem espaço ou usando ( _ ) por exmplo (promocao_de_inverno.doc) , assim não ira ocorrer essas anomalias novamente!
Abraço.
[17] Comentário enviado por
xirux em 06/02/2012 - 16:33h:
Emelicio, deve haver uma configuração a ser feita em relação ao UTF8 para deixar de ter incompatibilidade com caracteres especiais, tipo acentos. Isso é feito no SAMBA e FSTAB. Preciso pesquisar mais pra poder te ajudar. Se alguém tiver a resposta...