Skocz do zawartości

Synchronizacja Zasobów


MC'

Rekomendowane odpowiedzi

Witam,

 

Poszukuję ostatnio rozwiązania dla synchronizacji zasobów na 2 komputerach. Zwykle pracuję na stacjonarnym ale często muszę pracować i robić to samo na laptopie. Potem znowu kontynuować pracę na stacjonarnym i tak w kołko. Za każdym razem muszę wybierać i przegrywać zawartość kilkunastu katalogów, w których zmieniła się zawartość od ostatnij zmiany kompa.

 

Moje pytanie jest następujące czy jest program który po zainstalowaniu np na obu linuksach i wskazaniu, które katalogi ma uaktualniać do najnowszej wersji mógłby np przez sieć/usb/<inne_medium>sprawdzać co się zmieniło w tych katalogach i plikach i podmieniać je do najnowszej wersji?

 

oczywiści fajnie by było gdyby była opcja historii z możliwością powrotu do jednego z poprzednich stanów kompa.

 

Nie chodzi mi tu o jakieś cvs/svn/git bo to nie ta skala problemu a i chyba nie do końca to by spełniało założenia problemu.

 

Z góry dziękuję za wskazówki.

 

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Ostatnio interesowało mnie prawie to samo, ale całkiem samodzielnie zbudowane. Gotowe narzędzia to żadna zabawa ;P

Założenia:

- skrypt siedzi w cron i skanuje wybrane foldery co ~ 5minut

- porównuje znacznik czasowy pliku/folderu i na tej podstawie decyduje pobierać/nadpisać

- połączenie ssh (dorobić kluczyki)

- skrypt działa tylko na jednym kompie, inaczej była by wojna ...chyba

 

lamerskie pytanie: jak się sprawdza znacznik czasowy pliku i jak to użyć?

alternatywa: sumę kontrolną można sprawdzić, ale wtedy wiadomo tylko że się różnią a nie który jest młodszy ...chyba

skrypt powinien ustalać po uruchomieniu z właścicielem czy na pewno synchronizować (ot dla bezpieczeństwa).

Odnośnik do komentarza
Udostępnij na innych stronach

 

Ostatnio interesowało mnie prawie to samo, ale całkiem samodzielnie zbudowane. Gotowe narzędzia to żadna zabawa ;P

Założenia:

- skrypt siedzi w cron i skanuje wybrane foldery co ~ 5minut

- porównuje znacznik czasowy pliku/folderu i na tej podstawie decyduje pobierać/nadpisać

- połączenie ssh (dorobić kluczyki)

- skrypt działa tylko na jednym kompie, inaczej była by wojna ...chyba

 

lamerskie pytanie: jak się sprawdza znacznik czasowy pliku i jak to użyć?

alternatywa: sumę kontrolną można sprawdzić, ale wtedy wiadomo tylko że się różnią a nie który jest młodszy ...chyba

skrypt powinien ustalać po uruchomieniu z właścicielem czy na pewno synchronizować (ot dla bezpieczeństwa).

 

 

Myślisz że samo skanowanie znaczników plików nie zajedzie Ci komputera ? :). Jak będziesz miał foldery z 1000 plików to nie sądzę aby Twój komputer był w stanie zrobić cokolwiek poza tym skanowaniem

Python python python, nie znam niczego gdzie dałoby się to prościej zrobić (jak się ma jakiekolwiek pojęcie o programowaniu - nauka zajmie ok 2-4 godzin no i godzina na napisanie programu, oczywiście da się wykorzystując np. Amandę, zanim ją pojmiesz będziesz miał wystarczająco dużo zabawy :) .

Rsync do synchronizacji, do archiwizacji przyrostowej Amanda.

Jak chcesz się naprawdę pobawić to może napisz moduł do jądra który będzie przechwytywał zmiany w plikach, ale to też Ci wpłynie w zastraszający sposób na wydajność.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Myślisz że samo skanowanie znaczników plików nie zajedzie Ci komputera ? :) . Jak będziesz miał foldery z 1000 plików to nie sądzę aby Twój komputer był w stanie zrobić cokolwiek poza tym skanowaniem
myślałem trochę w mniejszej skali, raczej kilka plików. Chyba musisz swoje uwagi przekazać gościom od nautilusa, bo jak się w nim podczepi za duży folder pod nautilus-script albo szablony to właśnie się go zajeżdża ;)

 

Python python python, (...)
Dropbox

szkoda że taki dropbox nie jest otwarty, fantastycznie to działa.

 

Co do tego programowania w pythonie to 2-4h okazały się dla mnie za krótkie, widać za małe mam pojęcie. A moduł do jądra to z toturiala raz wklepałem ;) Zagiąłeś mnie draniu, może kiedyś. Myślałem, że to będzie prostrze.

Odnośnik do komentarza
Udostępnij na innych stronach

Jak to ma być kilka plików to może zamontować zasób za pomocą fuse-ssh i zwykły skrypt bashowy

 

Poniższy kod przekazuję Ci na licencji GPL, możesz go użyć w swoim programie:

#!/bin/bash

if test "/sciazkadopliku/file1" -nt "zamontowany_udzial_ssh/file1"

then

cp "/sciazkadopliku/file1" "zamontowany_udzial_ssh/file1"

else cp "zamontowany_udzial_ssh/file1" "/sciazkadopliku/file1"

fi

 

+GUI do tego w GTK aby tworzyć listę plików w .txt wystarczy że zrobisz ładne.

i masz zabawy na weekend z rysowaniem.

 

aha i + jeszcze aby pobierało listę plików do sprawdzenia pliku tekstowego, ale to zrobisz 'cat listaplikow.txt'

 

zamiast gui możesz generować listę plików bardzo łatwo ls -R /home/qmic > listaplikow.txt

 

 

Zalety tego rozwiązania to:

1. Separacja warstwy kopiowania (można użyć różnych metod transmisji)

2. Separacja interfejsu użytkownika od warstwy porównywania plików (można tworzyć wiele interfejsów dla tego samego programu, który właściwie wyżej masz już gotowy).

3. Mało kodu = małe prawdopodobieństwo wystąpienia błędów (nie będziesz miał problemów z debugowaniem)

4. Krótki czas realizacji - rysowanie gui (różnie w zależności od wymagań skomplikowania + 5 linijek kodu.

 

Mając taką pomoc po co Ci dropbox ? :)

 

No i nie mów że trudne i że brzydkie, GUI sobie sam narysujesz więc będzie zabawa, a kod programu masz już gotowy. Czego więcej chcieć ?

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...