-
Data: 2012-10-19 09:36:50
Temat: Re: Monitorowanie zmian FTP
Od: Baranosiu <r...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 19.10.2012 Wojciech Sura <s...@s...op.pl> napisał/a:
> Hej!
>
> Rozpatrzmy program, który utrzymuje na serwerze FTP mirror jakichś danych
> (taka prosta synchronizacja, coś jak Google Drive albo Skydrive, tylko na
> FTP). Uruchamiamy dwie stacje robocze synchronizujące się z tym samym
> katalogiem. Na jednej stacji następuje zmiana - to można złapać dosyć
> łatwo, ponieważ Windows umożliwia monitorowanie zmian w danym katalogu.
> Plik aktualizowany jest na FTP... ale w jaki sposób drugi program może
> stwierdzić, że zaszły jakieś zmiany, które trzeba zaktualizować?
> Szczególnie, gdy plików do aktualizacji jest bardzo dużo i nie za bardzo
> można sobie pozwolić na częste przeszukiwanie całej hierarchii?
Sposobów jest co najmniej kilka. Najbardziej klasyczny to oczywiście
sprawdzanie dat modyfikacji każdego pliku. Druga możliwość (często
stosowana) to po każdej zmianie serwer aktualizuje plik ls-lR.gz
(zawierającego zgzipowany wynik unixowego polecenia ls -lR :D) w głównym
folderze ftp, a programy klienckie sprawdzają tylko datę
modyfikacji tego pliku, jeśli jest nowsza niż ta, którą mają u siebie,
to pociągają ten plik, a w nim już są daty modyfikacji (i wielkości)
wszystkich innych plików, więc lokalnie mogą sprawdzić co jest
nieaktualne i dociągnąć tylko potrzebne rzeczy. Trzecia możliwość, to
zastosowanie jakiegoś mechanizmu sum kontrolnych (na przykład md5) i
sprawdzanie nie po datach, tylko po zawartości plików (zasada taka
sama jak przy ls-lR tylko porównuje się sumy kontrolne a nie daty -
skuteczniejsze).
Z FTP jest natomiast jeden podstawowy problem, nie zapewnia on
"blokowania" plików (czyli dwie osoby na raz mogą próbować nadpisać
ten sam plik), do takich celów lepszy jest protokół RSYNC (lub
jakikolwiek system zarządzania wersjami, na przykład GIT).
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-23 Riga => Specjalista ds. public relations <=
- 2024-12-23 Łódź => Specjalista ds. Sprzedaży <=
- 2024-12-23 Kraków => International Freight Forwarder <=
- 2024-12-23 Co nalezy do Cinkciarza, a co do Conotoxia ?
- 2024-12-23 Poznań => Key Account Manager <=
- 2024-12-23 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2024-12-23 Rzeszów => Spedytor Międzynarodowy <=
- 2024-12-23 Warszawa => Infrastructure Automation Engineer <=
- 2024-12-23 Białystok => Analityk w dziale Trade Development (doświadczenie z Po
- 2024-12-23 Warszawa => Site Reliability Engineer (SRE) <=
- 2024-12-23 Warszawa => DevOps Engineer <=
- 2024-12-23 Warszawa => Senior Account Manager <=
- 2024-12-23 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-23 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-12-23 Mińsk Mazowiecki => Spedytor Międzynarodowy <=