Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-03-12 16:32:58

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

kopie zapasowe rsync

Witam,
Mam problem z tym narzędziem.
potrafię zrobić kopię zapasowom wskazanego katalogu i najczęściej robię /home, ale tam jes duzo danych których nie muszę backupować.
ponadto polecenie rsync odpalam z palca w konskoli.
Czytałem sporo o skryptach ale nie bardzo mogę i umiem to ugryżć.
Moje założenie jest takie:
1. wybrane katalogi z home (nie wszystkie)
2. odrzucić część zawartości katalogów które chcę archiwizować
3. wszystko leci na osobny dysk który jest na stałe podmontowany
4. co miesiąc jest tworzona kopia cała a co tydzień przyrostowe (wszystko oznaczane datami), potem się same kasują.
5. wszystko robi cron

czy możecie pi pomóc jak to zrobić.
Pozdrawiam
zientas

Offline

 

#2  2012-03-12 17:10:36

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: kopie zapasowe rsync

Pierwsze primo, do takich rzeczy lepszy będzie [url=http://www.nongnu.org/rdiff-backup/docs.html]rdiff-backup[/url], który jest właśnie do kopii przyrostowych.

Co do skryptu:
to wygląda on w wielkim uproszczeniu tak:

Kod:

#!/bin/bash      # - tu jest wskazana powłoka, może być to bash, zsh, lub co innego. 
polecenie1;
polecenie2;
polecenie3; 
exit 0;

Na necie znajdziesz kilkaset tysiecy przykładów najróżniszych skryptów powłoki, nic trudnego.

Tu masz przyklad backupu serwera z użyciem rdiff-backup:
http://wiki.rdiff-backup.org/wiki/index.php/BackupServer
A tu fajny manual:
http://manual.aptosid.com/en/sys-admin-rdiff-en.htm
http://everydaylht.com/howtos/system-administration/backing-up-files-using-rdiff-backup/

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2012-03-12 17:21:43)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2012-03-12 17:38:39

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

dzięki za chęć pomocy
ale niestety nic nie wniosła - jak dla mnie.
program potestuję.
Wiem że na necie znajdę kilka tysięcy, bawię się już tym ze 3 dni, nie jestem informatykiem.
Tak jak pisałem powyżej potrzebuję prawie gotowca bo szkoda mojego czasu i waszego. Chcę to zrobić raz i więcej do skryptów może przez następne 5 lat się nie dotknę.
Dlatego tutaj piszę, mając nadzieję że dzięki waszej pomocy zrobię to znacznie szybciej miż przekopując google przez nadtępne 3 dni.
zwracam się szczególnie do tych którzy mają to opcykane i sa w stanie powiedieć:
to przekopiuj, to utwórz, to zmień i wstaw tu. Chodzi mi o taki manual po polsku i łopatologicznie to i inni skorzystają.
Więc proszę jeśli ktoś może pomóc bardziej łopatologicznie.
z góry dziękuję.
pozdrawiam
zientas

Ostatnio edytowany przez zientas (2012-03-12 17:40:47)

Offline

 

#4  2012-03-12 18:33:19

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: kopie zapasowe rsync

Gotowiec to jest rdiff-backup ;-),  wystarczy przeczytać man-a, a tak w skrócie:

Kopia /home:

Kod:

rdiff-backup /home /media/dysk_na_kopie

Wyłączenie robienia kopii niektórych katalogów (/home/katalog_bez_kopii_1 i /home/katalog_bez_kopii_2):

Kod:

rdiff-backup --exclude=/home/katalog_bez_kopii_1 --exclude=/home/katalog_bez_kopii_2 /home /media/dysk_na_kopie

Resztę doczytasz w man...

Offline

 

#5  2012-03-12 20:30:28

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

Super, dzięki.
to mi pomogło, pokazało gdzie co jest.
już mogę więcej niż rsync ale:

jak z tego robić kopie opisane datą (plik wynikowy ma się umieścić w katalogu z datą) bo nadpisuje mi plik
jak robić kopie przyrostowe?

zientas

Offline

 

#6  2012-03-12 21:36:58

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: kopie zapasowe rsync

Kopie przyrostowe robi sam (pierwsza jest pełna a następne przyrostowe), opisywać nie trzeba bo po wywołaniu, bo sam zapisuje dokładny czas, zobacz:

Kod:

rdiff-backup --list-increments /katalog_z_backupem

Offline

 

#7  2012-03-12 22:41:15

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

Super dzięki
stworzyłem sobie taki skrypcik. Jak na razie uruchamiam z palca.
andreq rzeczywiście widzę 3 pliki z backupem (bo 3 robiłem) dzięki.

Kod:

Found 3 increments:
    increments.2012-03-12T22:27:02+01:00.dir   Mon Mar 12 22:27:02 2012
    increments.2012-03-12T22:29:04+01:00.dir   Mon Mar 12 22:29:04 2012
    increments.2012-03-12T22:31:55+01:00.dir   Mon Mar 12 22:31:55 2012
Current mirror: Mon Mar 12 22:45:06 2012

Jak odzyskać ten 22:29:04 czyli środkowy
Oraz jak bede chciał odzyskać jeden plik np. /home/ftp/jak.txt
jak będzie wyglądało polecenie?


1. A czy możecie mi powiedzieć czy można exclude umieścić w jakimś pliku tekstowym a w tym skrypckiku dodać do niego ścieżkę tak aby nie wydłużać w nieskończoność tej lini.
2. teraz żeby zrobić inny katalog niż /home trzeba skrypt wydłużyć, a czy istnieje możliwość jak wyżej listę do backupu umieścić w pliku oraz jak go zamieścić w skrypcie.

Kod:

#!/bin/bash
RDIFF=/usr/bin/rdiff-backup
echo
echo "=======Backing up ======="
${RDIFF} --exclude /home/tomasz /home /usr/backup/tomasz
echo "(and purge increments older than 1 month)"
${RDIFF} --remove-older-than 1M --force /usr/backup/tomasz
echo

pozdrawiam
zientas

Ostatnio edytowany przez zientas (2012-03-12 22:52:47)

Offline

 

#8  2012-03-12 23:11:53

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

Re: kopie zapasowe rsync

[b]zientas[/b]: przypuszczam, że odpowiedzią na pytanie pierwsze jest parametr [tt]--exclude-globbing-filelist[/tt], a odpowiedzią na drugie: [tt]--include-globbing-filelist[/tt]. Wszystko to jest opisane w dokumentacji programu ([tt]man rdiff-backup[/tt]).


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

#9  2012-03-12 23:42:43

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

Dzięki Minio, tyle co mi podałeś to wyczytałem z tych manuali, ale nie wiem gdzie te pliki zapisać i jak do nich podać scieżlę. Więc jeśli bedziesz tak uprzejmy to proszę o pomoc, nie będziemy wydłużali tematu w nieskończoność, a za jakiś czas ktoś będzie to czytał i będzie mu pomocne.
Pozdrawim
zientas

Offline

 

#10  2012-03-12 23:50:37

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Brno, Česko
Zarejestrowany: 2007-12-22
Serwis

Re: kopie zapasowe rsync

Ścieżkę podajesz jako argument dla tych opcji:
[tt]rdiff-backup --exclude-globbing-filelist /sciezka/do/pliku --inne opcje /źródło /cel[/tt]
To jest zwykły plik zgodny z formatem opisanym w dokumentacji (jeden plik/katalog na linię, można używać określonych symboli wieloznacznych).
Zapiszesz go sobie gdzie chcesz i pod nazwą jaką chcesz. Może być w ~, może być w /tmp/, może być w /var/lib/, może być w ~/.config/. Jak Ci wygodnie.


Spinnen Essen: [url=http://fluxboxpl.org/portal/]FluxboxPL[/url] [url=http://przepis-na-lo.pl/]Przepis na LibreOffice[/url]

Offline

 

#11  2012-03-13 14:42:30

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

Dzięki skrypt działa i prawie wszystko jest ok.
Ale....
Jak zrobić aby pliki zaczynające się od kropki czyli pliki które są w katalofu domowym każdego użytkowniak były pomijane.
jeśli w exclude napiszę /home/tomasz/.* to je ominie, ale chciałbym tak zapisać aby omijał je ze wszystkich katalogów.
Tak samo z plikami .tmp, jeśli podam całą ścieżkę to ominie jak napiszę /*.tmp to nie działa
pozdrawiam
zientas

Offline

 

#12  2012-03-13 16:26:29

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: kopie zapasowe rsync

Te z kropką to

Kod:

.*

lub

Kod:

 '.*'

pobobnie tmp albo

Kod:

*.tmp

albo

Kod:

 '*.tmp'

Offline

 

#13  2012-03-13 20:31:52

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

Witam
no niestety nie działa powyższe:

Kod:

=======Backing up =======
Fatal Error: Fatal Error: The file specification
    '.*'
cannot match any files in the base directory
    '/home'
Useful file specifications begin with the base directory or some
pattern (such as '**') which matches the base directory.

obszedłem to w ten sposób
w pliku exclude zamieścilem to:

Kod:

/.*
/*/.*
/*/*/.*
/*/*/*/.*

to spowodowało że do wielu katalogów w głąb jest to zastosowane.

a czy możecie mi pomóc w odzyskiwaniu. Wiem jak odzyskać kopię z przed np 2 dni. Ale jak odzyskać kopię konkretną.
dziś robiłem backup 5 rzay a chcę tą przedostatnią.
czy poszczególne pliki z backupu można odzyskać wchodząc w backup i znaleźć plik.
i gdzie go szukać bo na razie mam za mało kopi ze zmianami.
zientas

Offline

 

#14  2012-03-14 06:56:55

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: kopie zapasowe rsync

Jak wykonasz:

Kod:

 rdiff-backup --list-increments \katalog_z_backupem

to otrzymasz:

Kod:

Found 3 increments:
    increments.2012-03-12T22:27:02+01:00.dir   Mon Mar 12 22:27:02 2012
    increments.2012-03-12T22:29:04+01:00.dir   Mon Mar 12 22:29:04 2012
    increments.2012-03-12T22:31:55+01:00.dir   Mon Mar 12 22:31:55 2012
Current mirror: Mon Mar 12 22:45:06 2012

[/quote]
Chcesz kopię "środkową", to:

Kod:

rdiff-backup --restore-as-of 2012-03-12T22:29:04+01:00 /katalog_z_backupem /katalog_na_odzyskane_pliki

Możesz też stosować --include i --exclude

Offline

 

#15  2012-03-14 10:50:08

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

[quote=andreq]Chcesz kopię "środkową", to:

Kod:

rdiff-backup --restore-as-of 2012-03-12T22:29:04+01:00 /katalog_z_backupem /katalog_na_odzyskane_pliki

Możesz też stosować --include i --exclude[/quote]
początek zrozumiały i prosyt, z tym --include i --exclude nie bardzo rozumiem przy odzyskiwaniu. (chyba że chodzi aby ni odzyskiwał wszystkich plików)

p czy można tak.
jest sopbie plik np. dane.txt imieszczony w /home/tomasz/dane.txt
chcę go odzyskać z kopi z przed 2 dni. niech to będzie dla przykładu tak kopia: 2012-03-12T22:29:04+01:00
czy mogę sobie w tą kopię wejść przez mc i odzyskać ten plik kopiując go? lub jak to zrobić inaczej?

No i chyba ostatnie pytanie:
mój skrypt robi takie same kopie w 2 miejscach, jedna kopia jest na osobnym dysku a druga na serverze w firmowym do którego mam dostęp przez zamontowanie udziału.
Do tego dysku mają dostęp inne osoby. moje pytanie jest takie czy po zrobieniu tej kopi można ją jakoś spakować, nadać np. rozszeżenie .doc tak aby domyślnie pod windowsem nie można było użyć programu rozpakowującego oraz dodać chasło do archiwum.
procedura musiała by wyglądać tak:
1. skrypt rozpakowuje poprzedni backup
2. usówa stare archiwum
3. sprawdza zmiany i dokonuje aktualizacji (normalna procedura)
4. robi kompresję i zabezpiecza hasłem
5. usówa pliki nieskompresowane

lub jakiś inny sposób zabezpieczenia tego archiwum - dodam że to leci przez internet
Pozdrawiam
zientas

Offline

 

#16  2012-03-14 17:01:26

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: kopie zapasowe rsync

[quote=zientas]czy można tak.
jest sopbie plik np. dane.txt imieszczony w /home/tomasz/dane.txt
chcę go odzyskać z kopi z przed 2 dni. niech to będzie dla przykładu tak kopia: 2012-03-12T22:29:04+01:00
czy mogę sobie w tą kopię wejść przez mc i odzyskać ten plik kopiując go? lub jak to zrobić inaczej?[/quote]
Ja bym zrobił tak:

Kod:

rdiff-backup --restore-as-of 2012-03-12T22:29:04+01:00 /katalog_z_backupem//home/tomasz/dane.txt /katalog_na_odzyskane_dane

[quote=zientas]...jakiś inny sposób zabezpieczenia tego archiwum - dodam że to leci przez internet...[/quote]
Proponuję zatrudnić gpg: Na komputerze z danymi, tworzysz zaszyfrowaną kopię danych i tę kopię synchronizujesz przy pomocy rdiff-backup, zalety:
1. Niezaszyfrowane dane są tylko na źródłowym komputerze;
2. Nie musisz szyfrować połączenia, bo przesyłasz już zaszyfrowane dane;
Podstawy użycia gnupg: http://debian.linux.org.pl/zrobione/reference/reference-big.html#ch-gnupg i http://www.gentoo.org/doc/pl/gnupg-user.xml

Offline

 

#17  2012-03-14 20:48:17

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

Zbyt skomplikowane dla mnie (to szyfrowanie)
a może tak:
najpierw robię kopie lokalnie ta kopia jest pakowana i jakoś zabezpieczana przed ortwarciem, archiwum zip z hasłem i potem przenośona na zewnętrzny serwer oraz kasowane spakowane archiwum lokalne.
nie znam polecenia do skryptu które by pakowało moją kopię.
potem chyba nie ma problemu z usunięciem starej z servera skopiowanie nowej i usunięcie lokalnie archiwum.
albo proszę o coś mniej skomplikowanego, coś dla młodego zielonego pingwina.
Pozdrawiam
zientas

Offline

 

#18  2012-03-15 16:18:45

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: kopie zapasowe rsync

Do pakowania można zastosować tar w połączeniu z 7z (bo ma możliwość zabezpieczenia archiwum hasłem) np.

Kod:

 tar cf - katalog| 7za a -pmoje_hasło -si katalog.tar.7z

Rozpakowanie:

Kod:

7za x -pmoje_hasło -so katalog.tar.7z | tar xf -

A "wszystko mający" jest Duplicity: http://wiki.debian.org/Duplicity i http://blog.stelmisoft.pl/2010/tworzenie-kopii-zapasowej-plikow-przy-uzyciu-aplikacji-duplicity-oraz-duply/

Offline

 

#19  2012-03-15 20:33:26

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: kopie zapasowe rsync

A nie prościej zrobić szyfrowaną partycję lub kontener Truecryptem (można wyklikać myszką, strasznie trudne ;)), potem zamontować do folderu, rdiff i jazda.
Potem odmontować, i gotowe.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#20  2012-03-15 20:54:29

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: kopie zapasowe rsync

Może i prościej, ale:[quote=zientas]mój skrypt robi takie same kopie w 2 miejscach, jedna kopia jest na osobnym dysku a druga na serverze w firmowym do którego mam dostęp przez zamontowanie udziału.
Do tego dysku mają dostęp inne osoby. moje pytanie jest takie czy po zrobieniu tej kopi można ją jakoś spakować, nadać np. rozszeżenie .doc tak aby domyślnie pod windowsem nie można było użyć programu rozpakowującego oraz dodać chasło do archiwum.[/quote]
Więc dopóki nie dowiemy się szczegółów, to będziemy zgadywać i dawać kolejne propozycje.

Offline

 

#21  2012-03-21 15:39:33

  zientas - Użytkownik

zientas
Użytkownik
Zarejestrowany: 2006-11-12

Re: kopie zapasowe rsync

Teraz to wygląda tak:
Backup robiony na innym dysku, tym samym skryptem jest pakowany i zapisywany pod inną a po spakowaniu wysyłany na server przez internet.
Więc Wasze wszystkie porady były skuteczne dziękuję bardzo.
Mam nadzieję że wontek posłuży dla potomnych bo dzięki Wam jest wszystko łopatologicznie rospiasane.
zientas

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.012 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00011 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00096 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.71.239' WHERE u.id=1
0.00181 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.71.239', 1732572877)
0.00056 SELECT * FROM punbb_online WHERE logged<1732572577
0.00046 SELECT topic_id FROM punbb_posts WHERE id=198188
0.00228 SELECT id FROM punbb_posts WHERE topic_id=20876 ORDER BY posted
0.00073 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=20876 AND t.moved_to IS NULL
0.00004 SELECT search_for, replace_with FROM punbb_censoring
0.00107 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=20876 ORDER BY p.id LIMIT 0,25
0.00084 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=20876
Total query time: 0.00891 s