Moim problemem jest to, że zastrzeżona platforma SaaS, którą rozwijam na / for, udostępnia pliki dziennika tylko przez WebDav. Podczas opracowywania pliki dziennika mogą stać się dość duże do końca dnia (pomyśl 200 Mb +), ale są bardzo szczegółowe i przydatne, gdy próbujesz wyśledzić „błąd ogólny”.
Co się teraz ze mną dzieje, że aby spojrzeć na plik dziennika, muszę pobrać plik 200 Mb za każdym razem (nie zostanie automatycznie odtworzony, jeśli go usunę :(), co oznacza, że nawet przy dobrym połączeniu musisz poczekać 1 -2 minuty do pobrania pliku.
Tak więc aktualne pytanie: czy istnieje jakieś narzędzie, które może spojrzeć (na przykład) na sygnaturę czasową pliku co 5 sekund i po prostu pobrać dodaną porcję (używając obliczonej różnicy wielkości).
Odpowiedzi:
WebDAV jest rozszerzeniem protokołu HTTP i obecnie dostępne metody [ 1 ] nie obsługują tego samego.
Możesz spojrzeć na alternatywne metody częściowego przesyłania plików przez HTTP, takie jak zsync , które przenoszą tylko zmienioną treść.
1. zsync
AKTUALIZACJA:
Zgodnie z algorytmem rsync:
Jedna strona oblicza sumy kontrolne każdego odrębnego bloku danych i przesyła je na drugi koniec. Drugi koniec następnie dokonuje kroczącej sumy kontrolnej poprzez swój plik, identyfikując wspólne bloki, a następnie ustalając, które bloki nie są wspólne i muszą zostać przesłane.
W rsync serwer wykonuje całą ciężką pracę, podczas gdy w zsync klient żądający danych wykonuje całą ciężką pracę polegającą na zastosowaniu ruchomej sumy kontrolnej rsync i porównaniu z pobraną listą sum kontrolnych.
Od [ 4 ]
2. Alternatywy dla zsync
Range
, wystarczy nagłówek HTTP . [ 2 ] [ 3 ]Odniesienie:
źródło
Zsync
Wymagałoby to jednak obsługiRange
nagłówków po stronie serwera. Zaktualizowałem swój post, aby go podświetlić.Jeśli klient jest komputerem z systemem Windows, spróbuj tego: Zamapuj udział webdav jako dysk sieciowy i uruchom polecenie tail na pliku.
źródło