script de backup seletivo no bash

1

Eu tenho usado esse comando simples (isso é tudo que posso fazer :) para fazer backup da árvore inteira dos dados do meu usuário no servidor NAS por um ano.

cp -r /STORAGE /BACKUP-STORAGE/YYYY-MM-DD

Infelizmente, após um ano de serviço. Meu usuário começa preenchendo os espaços com muita foto e cliparts (jpg, gif, bmp) e isso começa a fazer com que meu processo de backup fique bem mais lento. O espaço também é um grande problema. Agora não tenho mais espaço suficiente para um conjunto de backup diário de uma semana.

Eu acho que quero alterar tudo de backup para backup apenas dados não-imagem. Como posso excluir jpg, gif e bmp do backup? É muito fácil com o comando DOS XCOPY, mas eu realmente não tenho ideia de como fazer isso no bash.

Obrigado

    
por Sake 25.04.2010 / 16:21

5 respostas

6

Dê uma olhada no rdiff-backup . ele não manterá réplicas de arquivos inalterados, apenas os 'diffs'.

se você quiser continuar copiando - use rsync ao invés de cp e dê uma olhada na sintaxe da diretiva exclude, por exemplo, como descrito aqui .

lembre-se de verificar se seus backups funcionam [especialmente com rdiff ou qualquer outro backup 'avançado' - verifique o repositório, tente o procedimento de restauração de tempos em tempos].

    
por 25.04.2010 / 16:39
2

No Linux, você sempre tem a opção de usar o bom ole tar , usando --exclude ou --exclude-from options

    
por 25.04.2010 / 16:58
1

Se você quiser manter uma estratégia de backup completo todos os dias, poderá usar o rsync com alguns sinalizadores --exclude para copiar apenas os dados que não sejam imagens.

Se você quiser reduzir ainda mais o tamanho de seus backups, poderá compactar as cópias de backup; a maneira mais rápida e fácil de fazer isso seria usar o tar para fazer o arquivo (então a saída seria um único arquivo) com -z ou -j.

Você pode reduzir ainda mais seu tamanho fazendo um modelo de backup mais tradicional, com backups completos semanais e incrementais diários, com tar ou find + tar.

    
por 25.04.2010 / 16:39
1

Você não menciona a marca do seu dispositivo NAS. Alguns dispositivos NAS high-end (NetApp, Isalon, DataDomain) suportam a desduplicação.

Isso permitiria fazer backup diário completo e todos os dados seriam "desduplicados" no dispositivo. Essa deduplicação / compactação é completamente transparente para o usuário (/home/user/myimages/fooimage.tiff é exatamente igual em todo o histórico de backup).

Eu fiz isso para um sistema de arquivos de 300GB, e conseguimos manter quase dois anos de backups em um único appliance.

E eu sei que isso é um pouco tangente, mas algumas soluções mais baratas agora devem estar disponíveis usando o ZFS da Sun. O ZFS também desduplica, embora seja um pouco imaturo em comparação com as ofertas do Netapp ou do DataDomain. Da próxima vez que eu olhar, estou pensando no ZFS, possivelmente quando FreeNAS 8.0 sai.

No entanto, se você não tiver um desses, o 'rdiff-backup' funciona muito bem também.

    
por 27.04.2010 / 23:03
0

Eu sego tar ou rsync. find funcionaria bem, mas poderia atingir alguns limites, dependendo do número de arquivos nessa árvore. O rsnapshot é muito legal também.

    
por 27.04.2010 / 23:39