Backup Incremental

1

Como escrevo um script que cria backups incrementais usando o rsync ou quais são os parâmetros para fazer o backup incremental?

Veja o cenário:

Eu tenho um servidor de arquivos samba e preciso fazer backup para usb drive externo quaisquer alterações ou arquivos adicionais criados em uma pasta samba específica. Localização dos arquivos que eu preciso de backup (/ opt / Resources e / opt / Resources Shared Folder 2) e o destino (/ media / disk / Resources Files Backup).

Eu tentei criar um arquivo (zipfiletest) em / opt / Resources e executar manualmente o rsync para ver se a transferência de arquivos para o disco rígido externo usb, parece que funciona, mas eu não sei como fazê-lo automaticamente se sempre há um novo arquivo criado ou modificado da fonte do samba.

[root@fileserver Resources]# rsync -azv /opt/Resources/zipfiletest /media/disk/Resources\ Files\ Backup01292013/Resources
sending incremental file list
zipfiletest/

sent 47 bytes  received 16 bytes  126.00 bytes/sec
total size is 0  speedup is 0.00
    
por MoonSire 31.01.2013 / 04:38

3 respostas

1

O rsync pode criar hardlinks para arquivos em outro diretório. Então, quando você faz backup para o diretório que contém a data atual em seu nome, você pode passar o argumento -link-dest apontando para o backup anterior. Como resultado, você terá dois diretórios idênticos (se não houver alterações entre backups) que ocupam espaço apenas para um.

Outra solução é chamada rdiff-backup. Ele usa o protocolo rsync e lida com incrementais para você. Ele usa alguns arquivos extras para armazenar o diff em versões mais antigas (sem hardlinks). Eu uso e funciona bem, mas quando se trata de restaurar versões antigas, é lento.

    
por 31.01.2013 / 04:49
0

Veja como resolvi minha própria pergunta.

Do servidor de arquivos Samba:

Fonte:

/opt/Resources
/opt/Resources Shared Folder 2

Destino:

/media/disk/Resources Files Backup/Resources
/media/disk/Resources Files Backup/Resources Shared Folder 2

Script:

backup.sh

rsync -azv /opt/{Resources,Resources\ Shared\ Folder\ 2/} /media/disk/Resources\ Files\ Backup/Resources/

Localização do script de backup:

/usr/local/bin

crontab funciona à meia-noite de todos os dias

0 0 * * * /usr/local/bin/backup.sh
    
por 31.01.2013 / 11:56
0

De link

A remote incremental backup of all your files could be as easy as "rdiff-backup / host.net::/target-dir"[disclaimer] What is it?

rdiff-backup backs up one directory to another, possibly over a network. The target directory ends up a copy of the source directory, but extra reverse diffs are stored in a special subdirectory of that target directory, so you can still recover files lost some time ago. The idea is to combine the best features of a mirror and an incremental backup. rdiff-backup also preserves subdirectories, hard links, dev files, permissions, uid/gid ownership, modification times, extended attributes, acls, and resource forks. Also, rdiff-backup can operate in a bandwidth efficient manner over a pipe, like rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up to a remote location, and only the differences will be transmitted. Finally, rdiff-backup is easy to use and settings have sensical defaults.

    
por 22.09.2014 / 13:24