Como criar um backup local?

Como criar um backup local?

Tenho um servidor web linux (Ubuntu 12.04) e quero criar um cronjob para gerar um backup diferencial, localmente (na mesma máquina).

Isso é possível? Com diferencial quero dizer que na primeira vez ele copia tudo, mas nas vezes seguintes só copia arquivos novos. Mas também quero ter muitos momentos, quero dizer, pelo menos 3 ou 4 backups dos quais posso restaurar tudo.

Eu verifiquei esta página, mas há muitas ferramentas diferentes e acho que cada uma tem suas próprias dicas:https://help.ubuntu.com/community/BackupYourSystem#Types_of_Backup

Por exemplo, me disseram que o armazenamento de .tar.gz tem um limite de tamanho.

Se tiver alguma sugestão simples, mesmo que não seja diferencial, será bem vinda.

Responder1

Supondo que haja um disco de backup /media/mydiske eu queira backup /home/user, este pequeno script permitirá que você mantenha backup de 10 históricos, mas mantendo apenas arquivos diferentes mais de uma vez.

Isso exige que o disco de backup seja formatado com um sistema de arquivos POSIX, como Ext4, XFS ou outro, masnãoNTFS,nemgordo!

#!/bin/bash
backRepo=/media/mydisk
backSrce=/home/user
backDest=home
backCopy=copy
backCount=9

[ -d "$backRepo/$backDest" ] || mkdir "$backRepo/$backDest"

cd $backSrce || exit 1
rsync -ax --delete --exclude '*~' --exclude '.DStore' . "$backRepo/$backDest/."

cd $backRepo
[ -d "$backCopy.$backCount" ] && rm -fR "$backCopy.$backCount"
for ((i=$backCount;i--;));do
    [ -d "$backCopy.$i" ] && mv "$backCopy.$i" "$backCopy.$((i+1))"
  done
((i++))

cp -al $backDest $backCopy.$i

Este ( cp -al) cria hardlinks de arquivos em vez de copiá-los. Portanto, não há mais espaço utilizado.

Rsync irárecriar(copiar na gravação) cada arquivo modificado, então o backup girado mantém a versão antiga.

Responder2

sincronizar novamenteé uma ótima ferramenta para copiar arquivos, ele pode copiar apenas os bits alterados em um arquivo e pode fazer backup dos arquivos de destino antes de sobrescrevê-los.

Você pode editar facilmente para crontabser executado rsyncperiodicamente em seu backup principal. Então você pode copiar os backups dos arquivos alterados e terá mais pontos no tempo. Ou você pode copiar os dados de backup antes de executar rsyncpara obter uma imagem completa para cada ponto no tempo.

A menos que você copie os arquivos posteriormente para outro lugar, não acho necessário usar o tar.

informação relacionada