-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!not-for-mail
From: Baranosiu <r...@w...pl>
Newsgroups: pl.comp.programming
Subject: Re: Monitorowanie zmian FTP
Date: Fri, 19 Oct 2012 07:36:50 +0000 (UTC)
Organization: CI TASK http://www.task.gda.pl/
Lines: 30
Message-ID: <k5qvug$brs$1@news.task.gda.pl>
References: <o...@s...wroclaw.optopol.zawiercie>
Reply-To: Baranosiu <r...@w...pl>
NNTP-Posting-Host: user-31-175-154-40.play-internet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.task.gda.pl 1350632210 12156 31.175.154.40 (19 Oct 2012 07:36:50 GMT)
X-Complaints-To: a...@n...task.gda.pl
NNTP-Posting-Date: Fri, 19 Oct 2012 07:36:50 +0000 (UTC)
User-Agent: slrn/pre1.0.0-18 (Linux)
Xref: news-archive.icm.edu.pl pl.comp.programming:200122
[ ukryj 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
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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??
Najnowsze wątki
- 2025-03-08 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-03-08 Prawo "gminne"
- 2025-03-08 Warszawa => Senior Recruiter <=
- 2025-03-08 Warszawa => Key Account Manager IT <=
- 2025-03-08 Najszybciej ładujące się samochody elektryczne
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-03-07 Warszawa => International Freight Forwarder <=