|
kopia zapasowa danych - pełna i przyrostowa
tomii - 15-03-2009 15:37
Witam serdecznie. Chciałem zabezpieczyć swoje dane przez robienie kopii zapasowych ale nie chcę wyważać otwartych drzwi, więc może ktoś mnie pokieruje we właściwym kierunku:ljaki jest obecnie standard (raz dziennie)?l
ljedna kopia pełna co ile czasu?l
lużyć jakieś gotowe oprogramowanie czy lepiej jakiś skrypt?l
Moje wymagania:lkopie automatyczna na inny serwer i możliwość ręcznej na mójl
lkomputer (Linuksy w obu przypadkach),l
lzachowanie struktury i właścicieli plików.l
Dodatkowo jak zorganizować kopie bazy danych? Wszelkie sugestie mile widziane.
Pozdrawiam.
grzesiek - 17-03-2009 20:39
Ja robię własny skrypt z starannie dobranymi katalogami, które warto kopiować. Co tydzień przyrostowa (na koniec tygodnia) i 1 każdego miesiąca pełna. Wszystko leci na drugi dysk, który jest też wykorzystywany dodatkowo do przyspieszenia aktualnej pracy poprzez przeniesienie tam najbardziej "ruchomych" katalogów. Korzystam tylko z programu tar i cron, no i tam rm i cp się znajdzie ;-) A co kopiować i jak często, to już tylko zależy od tego co to jest i ile tego jest.
yantar - 18-03-2009 03:05
sbackup proste narzedzie i ma chyba wszystko co tomii, potrzebujesz.
Yampress - 21-03-2009 10:52
Pełną kopię zapasową danych robimy za pomocą programu tar, przyrostową za pomocą programu rsync.
tomii - 21-03-2009 15:25
Witam serdecznie, dziękuje za odpowiedzi. Czy program sbackup można obsługiwać z konsoli, obsługuje ftp lub scp. Do rsync maszyna, na którą robię kopię zapasową musi mieć zainstalowany ten protokół? Pozdrawiam.
beel - 21-03-2009 15:47
Do rsync maszyna, na którą robię kopię zapasową musi mieć zainstalowany ten protokół?
Z tego co pamiętam to po obu stronach mam zainstalowany rsync (mała paczka). A tutaj opis.
tomii - 21-03-2009 15:53
Niestety nie mam możliwości robienia kopii na maszynę z zainstalowanym rsync.
grzesiek - 21-03-2009 18:15
Ja przyrostowe tez robię za pomocą tara przy pomocy parametru --listed-incremental. Dzięki temu mogę kontrolować czy kopia przyrostowa ma być od ostatniej pełnej czy ostatniej przyrostowej. backup.sh: #!/bin/sh EXCLUDE='--exclude data --exclude Pobrane --exclude other --exclude tmp'
rm /home/data2/backup/stan_grzesiek rm /home/data2/backup/stan_etc
echo '=========================| home/grzesiek/ |=========================' echo '*oprócz: '$EXCLUDE
tar --listed-incremental=/home/data2/backup/stan_grzesiek $EXCLUDE -cjpvf /home/data2/backup/grzesiek_full_`date +"%F_%H_%M_%S"`.tar.bz2 /home/grzesiek
echo '=========================| /etc/ |========================='
tar --listed-incremental=/home/data2/backup/stan_etc -cjpvf /home/data2/backup/etc_full_`date +"%F_%H_%M_%S"`.tar.bz2 /etc
backup_update.sh #!/bin/sh EXCLUDE='--exclude data --exclude Pobrane --exclude other --exclude tmp'
echo '=========================| home/grzesiek/ |=========================' echo '*oprócz: '$EXCLUDE
tar --listed-incremental=/home/data2/backup/stan_grzesiek $EXCLUDE -cjpvf /home/data2/backup/grzesiek_add_`date +"%F_%H_%M_%S"`.tar.bz2 /home/grzesiek echo '=========================| /etc/ |========================='
tar --listed-incremental=/home/data2/backup/stan_etc -cjpvf /home/data2/backup/etc_add_`date +"%F_%H_%M_%S"`.tar.bz2 /etc
I to do crona. Oczywiście kopia mieści się na drugim dysku.
tomii - 21-03-2009 18:27
Wielkie dzięki za skrypt, W wolnej chwili postaram się go dostosować do własnych potrzeb - jeśli mogę? A jak wygląda potem przywracanie kopi z takiego skryptu. Da się podać do tara kilka lokalizacji do spakowania naraz?
grzesiek - 21-03-2009 19:34
Rozpakowujesz w odpowiedniej kolejności. Załóżmy, że robisz kopie pełna co miesiąc i przyrostową co tydzień. Komputer się zepsuje w drugim tygodniu, czyli masz już kopię pełną i jedną przyrostową więc najpierw odtwarzasz pełną a potem jeszcze (nakładkę) przyrostową. Gdybyś miał trzy przyrostowe to najpierw odtwarzasz najstarszą potem kolejną po niej i na końcu ta najnowszą. Załóżmy, że nic nie pada, ale chcesz powrócić do wersji swojego kodu, firewala, dokumentu, strony www itp. z przed tygodnia - wydobywasz ten plik z kopii przyrostowej z ostatniego tygodnia. Oczywiście, że się da :-) Masz dwa katalogi 1 i 2 tar -cjf paczka.tar.bz2 1 2
tar tak jak większość tradycyjnych narzędzi ma być może więcej lat niż ty (bez urazy), przez tyle czasu to czego on nie ma, podobnie jak vim.
hiropter - 24-04-2009 10:56
Ja robię kopie programem rsnapshot. Jeśli chcesz mieć kopie na drugim komputerze, to najłatwiej jest podłączyć dysk przez NFS.
tomii - 23-11-2009 15:29
Może odkopię bo znowu się z tym zmagam, da się zrobić za pomocą rsync kopię pełną (raz na tydzień) + przyrostowe (codziennie) w ten sposób aby móc odtworzyć np. stan sprzed 3 dni?
czarownik - 25-11-2009 14:08
Chciałbym Cię Grzesiek poprosić o wyjaśnienie poniższej linijki bo nie za bardzo rozumiem
echo '=========================| home/grzesiek/ |=========================' echo '*oprócz: '$EXCLUDE
tar --listed-incremental=/home/data2/backup/stan_grzesiek $EXCLUDE -cjpvf /home/data2/backup/grzesiek_add_`date +"%F_%H_%M_%S"`.tar.bz2 /home/grzesiek
do czego porównujesz tą kopię przyrostową do tego -cjpvf /home/data2/backup/grzesiek_add_`date +"%F_%H_%M_%S"`.tar.bz2
jeśli tak to skąd skrypt wie do czego ją porównać skoro plik się nazywa grzesiek_add_`date +"%F_%H_%M_%S
Przecież data się zmienia codziennie. Nie za bardzo to rozumiem :(
grzesiek - 25-11-2009 18:54
Nie. Za każdym razem stan zastanych przez program tar plików jest w pewien sposób oznaczany w pliku stan_grzesiek. Robiąc kolejną kopię tar automatycznie porównuje stan plików znajdujących się w katalogu /home/grzesiek ze stanem zapisanym w pliku stan_grzesiek. Jeżeli sygnatura jakiegoś pliku nie pokryje się z tą z pliku stan_grzesiek to znaczy, że plik musiał być zmodyfikowany i należy to dołączyć do archiwum:
grzesiek_add_`date +"%F_%H_%M_%S`
które zawiera tylko pliki zmienione od ostatniej kopi przyrostowej. Zobacz:
tar --help
i:
man tar
czarownik - 30-11-2009 16:04
Mam pewien problem oto mój skrypt:
#!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DATA=`date +%Y-%m-%d` KATALOG="WWW" SCIEZKA="/mnt/outside/" SCIEZKA_TEMP="/mnt/outside/TEMP/WEB/"
cd /mnt/outside/ echo -n "----- Tworze katalog $DATA -----" mkdir "$DATA" echo "[OK]" #echo -n "Tworzenie katalogu $KATALOG" #cd "$DATA" #mkdir "$KATALOG" echo "[OK]" echo -n "---- Kopiuje pliki ----" #rsync --progress -axH /mnt/web/ /mnt/outside/$DATA/$KATALOG > /dev/null 2>&1
tar --listed-incremental= /mnt/outside/TEMP/WEB/ $EXCLUDE -cjpvf /mnt/outside/$DATA/web.tar.bz2 /mnt/web/ #> /dev/null 2>&1 echo "[OK]"
echo -n "----- Kopiowanie zakończone ---- " ls -l /mnt/outside/$DATA/$KATALOG/
echo -n echo "----- Kasuje przestarzałe katalogi -----"
rm -r /mnt/outside/`date +%Y-%m-%d --date '7 days ago'`
echo "[OK]" ls -l /mnt/outside/
tar pokazuje mi taki błąd: tar: Zakończenie z błędem z powodu uprzednich błędów
Tylko ze wcześniej konsola nie wypluła żadnego błędu, czy gdzieś mogę sprawdzić jaki to był błąd Nie tworzy się też żaden plik, w katalogu /mnt/outside/TEMP/WEB, co może być nie tak, sprawdzałem ścieżkę jest poprawna .
lessmian2 - 30-11-2009 17:14
Patrząc w przykład podany przez grzeska, jako parametr dla --listed-incremental podaje się plik a nie katalog ...
czarownik - 30-11-2009 18:35
No racja, ale mimo wszystko plik się nie tworzy, powinien się raczej tworzyć automatycznie przy tworzeniu kopii zapasowej.
grzesiek - 30-11-2009 18:41
Parametr --listed-incremental oczekuje pliku. A tego $EXCLUDE nie używasz, Spróbuj np. tak: tar --listed-incremental=/mnt/outside/TEMP/WEB/web_stan_file -cjpvf /mnt/outside/$DATA/web.tar.bz2 /mnt/web
czarownik - 30-11-2009 20:32
Dziękuję pomogło, ten parametr zostawiłem specjalnie, później miałem pomyśleć co wykluczyć.
Mam jeszcze pytanie próbowałem rozpakować archiwum poleceniem:
tar -cjf archowum.tar.bz2 /katalog/
Pokazuje mi się błąd:
tar: usunięcie początkowego / z nazw plików
a archiwum się nie rozpakowuje, teraz to już nie rozumiem co robię źle?
lessmian2 - 30-11-2009 20:39
tar -cjf archowum.tar.bz2 /katalog/
A to, to jakby tworzy archiwum zamiast je rozpakowywać. Spróbuj
tar -xjf archowum.tar.bz2
grzesiek - 30-11-2009 20:43
tar w składni nie ma celu, zobacz: http://www.gnu.org/software/tar/manual/tar.html#SEC25
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|