Jak zrobić differentalny backup?


(Saver) #1

Witam, mam pytanie jak się robi differentalne backupy?

Chce tak zrobić:

Poniedziałek - pełny backup

Wtorek - diff backup z Poniedziałku

Środa - diff backup z Poniedziałku

Czwartek - diff backup z Poniedziałku

Piątek - diff backup z Poniedziałku

Sobota - diff backup z Poniedziałku

Niedziela - diff backup z Poniedziałku

Bardzo proszę o pomoc.

Pozdrawiam

Problem rozwiązany

Użyłem programu tar.

#backup.sh

#!/bin/sh


#omijanie katalogów

EXCLUDE='--exclude Download --exclude date --exclude smieci'


rm /backup/stan_home

rm /backup/stan_var


echo '=========================| /home |=========================' 

tar --listed-incremental=/backup/stan_home $EXCLUDE -cjpvf /backup/full_home_`date +"%F_%H_%M_%S"`.tar.bz2 /home


echo '=========================| /var |=========================' 

tar --listed-incremental=/backup/stan_var $EXCLUDE -cjpvf /backup/full_var_`date +"%F_%H_%M_%S"`.tar.bz2 /var


mkdir /backup/fullBackup_`date +"%F"`

mv /backup/full_* /backup/fullBackup_`date +"%F"`

#backup_update.sh

#!/bin/sh

EXCLUDE='--exclude Download --exclude date --exclude smieci'


echo '=========================| /home |=========================' 

tar --listed-incremental=/backup/stan_home $EXCLUDE -cjpvf /backup/diff_home_`date +"%F_%H_%M_%S"`.tar.bz2 /home


echo '=========================| /var |=========================' 

tar --listed-incremental=/backup/stan_var $EXCLUDE -cjpvf /backup/diff_var_`date +"%F_%H_%M_%S"`.tar.bz2 /var



mkdir /backup/diffBackup_`date +"%F"`

mv /backup/diff_* /backup/diffBackup_`date +"%F"`

(p19koz) #2

http://www.dobreprogramy.pl/EASEUS-Todo ... 22326.html

Ale ty chyba siedzisz na linux, to

http://www.dobreprogramy.pl/Clonezilla- ... 21422.html


(Roomunho) #3

w języku polskim nie ma chyba słowa "differentalny" :wink: chodzi o kopie przyrostowe? najlepszym narzędziem do tego typu zadań jest Acronis True Image. cały proces tworzenia kopii można bardzo szybko i wygodnie zautomatyzować, łącznie z określeniem częstotliwości kasowania starych kopii. działa bardzo szybko, pracuje w tle i nie obciąża komputera. minus taki, że nie jest darmowy. O&O DiskImage 6 też potrafi robić automatycznie kopie przyrostowe, można użyć go spokojnie jako zamiennik dla ATI. O&O DiskImage 5 do użytku domowego można dostać za darmo (promocja chyba jeszcze trwa) tutaj http://www.oo-software.com/en/special/pvm1783 niestety bawiłem się nim krótko i nie znalazłem sposobu na zautomatyzowanie procesu tworzenia kopii przyrostowych (bez problemu można zrobić to ręcznie za pomocą kilku kliknięć).


(-Łukasz-) #4

Déja Dup

Ma tylko bardzo podstawowe możliwości konfiguracji, ale jeszcze nigdy mnie nie zawiódł. Jest domyślnie w Ubuntu.


(Saver) #5

Nie chce żadnych programów które są na ISO, chce program który sam automatycznie z crona robi backupy bez wyłączenia komputera.

Można jakoś tar skonfigurować z pracą z diff, tylko nie wiem jak, bardzo proszę o pomoc.


(dragonn) #6

Saver w locie backup najbezpieczniej robić poprzez np. lvm, możliwej jest tworzenie przyrostowych kopi. Ale na domowe warunki jak wykorzystuje rsync, tylko by robić kopię w locie trzeba mieć pewność że w trakcie robienia kopi system nic ważnego nie zapisuje na dysk (np. nie robić backup podczas aktualizacji systemu).


(Saver) #7

Problem rozwiązany

Użyłem programu tar.

#backup.sh

#!/bin/sh


#omijanie katalogów

EXCLUDE='--exclude Download --exclude date --exclude smieci'


rm /backup/stan_home

rm /backup/stan_var


echo '=========================| /home |=========================' 

tar --listed-incremental=/backup/stan_home $EXCLUDE -cjpvf /backup/full_home_`date +"%F_%H_%M_%S"`.tar.bz2 /home


echo '=========================| /var |=========================' 

tar --listed-incremental=/backup/stan_var $EXCLUDE -cjpvf /backup/full_var_`date +"%F_%H_%M_%S"`.tar.bz2 /var


mkdir /backup/fullBackup_`date +"%F"`

mv /backup/full_* /backup/fullBackup_`date +"%F"`

#backup_update.sh

#!/bin/sh

EXCLUDE='--exclude Download --exclude date --exclude smieci'


echo '=========================| /home |=========================' 

tar --listed-incremental=/backup/stan_home $EXCLUDE -cjpvf /backup/diff_home_`date +"%F_%H_%M_%S"`.tar.bz2 /home


echo '=========================| /var |=========================' 

tar --listed-incremental=/backup/stan_var $EXCLUDE -cjpvf /backup/diff_var_`date +"%F_%H_%M_%S"`.tar.bz2 /var



mkdir /backup/diffBackup_`date +"%F"`

mv /backup/diff_* /backup/diffBackup_`date +"%F"`

(roobal) #8

Poczytaj sobie jeszcze o diff (porównywanie), czy rsync (synchronizowanie).

Pozdrawiam!


(sadaj72) #9

Tak się zastanawiam czy po polsku to się nie nazywa backup różnicowy?


(marcin82) #10

Zajrzyj tutaj:

http://debian.linux.pl/entries/159-Pros ... wa-systemu

Odpowiednie skrypty wrzuć do crona.


(Babciastefa) #11

Myślę, że nie ma sensu bawić się w różnicowy backup tylko najprościej użyć rsynca.

A jeśli chciałbyś mieć osobno zmienione pliki poukładane według daty to można to zrobić w następujący sposób:

  1. Skopiowanie starego backupu do nowego miejsca

  2. Zaaktualizowanie backupu w nowym miejscu świeżymi danymi

  3. Porównanie sum kontrolnych starego i nowego backupu, usunięcie plików z takimi samymi sumami z nowego backupu

Trzeci punkt można wykonać bardzo prosto jakimś skryptem shellowym napisanym np. w pythonie, jeśli zdecydujesz się na tego typu sposób to mogę napisać dla Ciebie taki mały fragment kodu do tego.