kopia zapasowa danych - pe
Chciałbym Cię Grzesiek poprosić o wyjaśnienie poniższej linijki bo nie za bardzo rozumiem
jeśli tak to skąd skrypt wie do czego ją porównać skoro plik się nazywa
Przecież data się zmienia codziennie. Nie za bardzo to rozumiem 
do czego porównujesz tą kopię przyrostową do tegoGrzesiek pisze: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
Kod: Zaznacz cały
-cjpvf /home/data2/backup/grzesiek_add_`date +"%F_%H_%M_%S"`.tar.bz2
Kod: Zaznacz cały
grzesiek_add_`date +"%F_%H_%M_%S

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: które zawiera tylko pliki zmienione od ostatniej kopi przyrostowej.
Zobacz: i:
Kod: Zaznacz cały
grzesiek_add_`date +"%F_%H_%M_%S`
Zobacz:
Kod: Zaznacz cały
tar --help
Kod: Zaznacz cały
man tar
Mam pewien problem oto mój skrypt:
tar pokazuje mi taki błąd:
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 .
Kod: Zaznacz cały
#!/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/
Kod: Zaznacz cały
tar: Zakończenie z błędem z powodu uprzednich błędów
Nie tworzy się też żaden plik, w katalogu /mnt/outside/TEMP/WEB, co może być nie tak, sprawdzałem ścieżkę jest poprawna .
Parametr --listed-incremental oczekuje pliku. A tego $EXCLUDE nie używasz,
Spróbuj np. tak:
Spróbuj np. tak:
Kod: Zaznacz cały
tar --listed-incremental=/mnt/outside/TEMP/WEB/web_stan_file -cjpvf /mnt/outside/$DATA/web.tar.bz2 /mnt/web
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:
Pokazuje mi się błąd: a archiwum się nie rozpakowuje, teraz to już nie rozumiem co robię źle?
Mam jeszcze pytanie próbowałem rozpakować archiwum poleceniem:
Kod: Zaznacz cały
tar -cjf archowum.tar.bz2 /katalog/
Kod: Zaznacz cały
tar: usunięcie początkowego / z nazw plików
A to, to jakby tworzy archiwum zamiast je rozpakowywać. Spróbujczarownik pisze: tar -cjf archowum.tar.bz2 /katalog/
Kod: Zaznacz cały
tar -xjf archowum.tar.bz2