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  2010-09-26 14:26:46

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

[SOLVED] [rsync] przenieś, nie usuwaj

Jak zmusić rsynca żeby wszystko co jest w folderze docelowym, a czego nie ma w folderze źródłowym, przenosił do określonego katalogu? Opcją --delete mogę to usunąć, ale nie chcę.

Jeśli wszedłeś tutaj z Gógla i szukasz odpowiedzi na to pytanie, zobacz ten post.

Zawartość /etc/ -> http://wklej.fluxboxpl.org/15033
zawartość katalogu backupowego -> http://wklej.fluxboxpl.org/15034
plik exclude -> http://wklej.fluxboxpl.org/15035

sudo rsync -nvv -avl --stats --backup --backup-dir /mnt/backup//deleted-files/ --exclude-from /home/minio/.rsync-exclude --progress / /mnt/backup//current/ -> http://minio.komunikatory.pl/pliki/rsync-log (738 kB)

Idea jest taka, żeby w current był aktualny snapshot systemu, natomiast w deleted-files różne śmieci które z jakiegoś powodu usunąłem, ale które mogę w przyszłości uznać za ważne. Jak mi zajmie zbyt dużo miejsca to je sobie ręcznie usunę.

Ostatnio edytowany przez Minio (2010-09-27 22:54:49)

Offline

 

#2  2010-09-26 15:36:51

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: [SOLVED] [rsync] przenieś, nie usuwaj

metoda na okolo - puszczmy rsync w trybie symulacyjnym z delete i verbose ... z uzyskanej listy kasowanych plikow tworzymy skrypt ktory je przenosi ...

BTW moze warto zainteresowac sie do tego celu np. bzr a nie rsync ...

Ostatnio edytowany przez bercik (2010-09-26 15:37:10)


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#3  2010-09-26 18:25:16

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: [SOLVED] [rsync] przenieś, nie usuwaj

albo jakiś system kontroli wesji...
Lub drugie rozwiązanie z serii "Warszawa - Kraków przez Helsinki"

Kod:

find /zrodlo -type f > current
find /cel -type f > cel

diff między polikami czy też grep i dostajemy to co chcemy... Tylko wtedy zamiast jednolinijkowego backupu musimy napisać skrypcik na 5 ;)


LRU: #472938
napisz do mnie: ola@mojmail.eu
Hołmpejdż | Galerie | "Twórczość" || Free Image Hosting

Offline

 

#4  2010-09-26 21:00:18

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: [SOLVED] [rsync] przenieś, nie usuwaj

Dzięki za odpowiedzi. Myślałem że rsync ma na to jakąś gotową receptę której nie dojrzałem albo nie zrozumiałem w trakcie przeglądania mana. Ale jeśli nie ma...

System kontroli wersji pozwoli mi to łatwo zrealizować? Wiem że potrafiłby mi przywrócić system do określonego punktu z przeszłości, ale ja czegoś takie nie potrzebuję. No i system kontroli wersji pracuje chyba głównie na plikach tekstowych, podczas gdy w /home — na którym najbardziej mi zależy — mam dużo plików binarnych (jakieś zdjęcia, filmy, pliki doc albo odf — te ostatnie są przecież zwykłymi zipami).

Do tego dochodzi fakt że w Internecie jest cała masa skryptów backupujących dla rsynca, podczas gdy jest ich bardzo niewiele dla np. bzr (bo ten sprawdzałem). Myślę że napisanie jakiegoś workarounda zajmie mi mniej czasu niż nauka obsługi systemu kontroli wersji ;) .

winnetou: jestem dzieckiem neo i gimbusem i samo backupowanie opakowałem w powiadomienia nad trayem, okienka zenity i inne ładne pierdołki. W tej chwili skrypt ma ponad 100 linii samego kodu, więc mogę w nim dopisać jakąś funkcję czy coś.

Podzielę się z wami jak skończę ;) .

Offline

 

#5  2010-09-26 21:15:19

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: [SOLVED] [rsync] przenieś, nie usuwaj

Kiedyś na zlecenie bawiłem się w takie cudo: syncc.sh Skrypt miał za zadanie synchronizować pewne katalogi, czyscić starocie i usuwać jeszcze większe starocie. Nie powiem żeby to było dzieło sztuki ( i nie dołączyłem pliku .config ze względów bezpieczeństwa :P) ale działa, może Ci (albo komuś innemu) się przyda.


LRU: #472938
napisz do mnie: ola@mojmail.eu
Hołmpejdż | Galerie | "Twórczość" || Free Image Hosting

Offline

 

#6  2010-09-27 18:17:37

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: [SOLVED] [rsync] przenieś, nie usuwaj

w systemie kontroli wersji mozna trzymac dowolne pliki ... oczywiscie dla nie tekstowych bedzie gorsza 'kompresja" trzymania kolejnych wersji oraz nie bedzie niektorych urzytecznych funkcji (diff) ...

co do bzr i tego co chesz zrobic to moznaby
1. zainicjalizowac bzr (tak aby powstal /home/.bzr)
2. przeniesc zawartosc /home/.bzr w miejsce gdzie chesz miec backupy
3. podmontowac miejsce w ktorym chesz miec backupy do /home/.bzr
4. pozniej jak chesz zrobic backup to dajesz:

Kod:

bzr add . ; bzr ci -m"opis backupu"

"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#7  2010-09-27 22:53:14

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: [SOLVED] [rsync] przenieś, nie usuwaj

bercik: dzięki za informacje. Być może skorzystam w przyszłości, jak uznam że jednak rsync nie spełnia moich oczekiwań. W tej chwili mam już ukończony (jak sądzę) i działający skrypt, więc nie będę go modyfikował.

Wracając zaś do tematu — okazuje się, że moje pytanie było bezzasadne, ponieważ rsync uruchomiony z opcjami --delete, --backup i --backup-dir domyślnie przenosi zamiast usuwać katalogi :) . Odkryłem to przypadkiem — dopisałem sobie kod do przenoszenia plików przed właściwiym rsyncem, jednak w nazwie katalogu źródłowego mv zrobiłem literówkę, przez co dostałem multum wiadomości o niemożliwości stat tego-a-tamtego pliku. Jednak pliki których nie było w katalogu źródłowym a były w docelowym zostały przeniesione z katalogu docelowego do katalogu określonego w --backup-dir.

Pisałem że się podzielę jak skończę, więc się dzielę: http://minio.komunikatory.pl/pliki/backup-notification.sh. Ostrzegam że prawdopodobnie zadziała tylko na moim komputerze ;) .

Offline

 

Stopka forum

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