Odpowiednik LogRotate dla Windows?

30

Mamy ogromny plik dziennika zapisywany przez aplikację dostawcy. Załóżmy, że sprzedawca nie zrobi niczego, o co prosimy. Czy istnieje jakiś sposób na obrócenie tego pliku dziennika? Patrzymy na pisanie około 300 MB na godzinę - wolałbym raczej podzielić je na 10 MB i pozwolić, aby cokolwiek starszego niż dzień lub ponad 1000 plików spadło z urwiska.

(Wiem, że wiem, możliwe duplikaty Jak obracać dzienniki Apache w systemie Windows bez przerywania usługi? )

Aha - dziennik Chomp był martwy, ale poszukiwanie „chomp logrotate” przywiodło mnie na jego nową stronę . Spróbuję jutro i odpowiem, jeśli mi się spodoba. Nadal chciałbym usłyszeć o oprogramowaniu, którego używa ktoś inny, do tego celu.

mfinni
źródło
Czy okresowe ponowne uruchamianie usługi spowoduje problemy? Czy aplikacja może wysłać dane wyjściowe do programu lub gniazda sieciowego?
Zoredache
Może zalogować się do standardowego wyjścia lub do pliku o nazwie. Możliwość ponownego uruchomienia - możliwe, jeszcze nie pewne.
mfinni
Istnieją setki skryptów do rotacji logów. Na przykład wyszukaj w Google „rotacja dziennika PowerShell”.
Jim B
Ten konkretnie obsługuje stare (przestarzałe) pliki, do których nie są już zapisywane, co jest dość łatwym przypadkiem. Szukałem czegoś do obsługi pojedynczego pliku.
mfinni
Przeszukanie tego forum pod kątem „logrotate” ma 0 wyników.
mfinni

Odpowiedzi:

8

O ile skrzywię się na tę sugestię, instalacja Cygwin jest jedną z niewielu opcji, które masz do dyspozycji. Stamtąd możesz użyć logrotate.

Wesley
źródło
2
Nie boję się Cygwina, jeśli zawiera dobre rozwiązanie, chociaż zawsze pamiętam o tym, aby nie używać armaty do ciosu muchy.
mfinni
1
Przepraszam, muszę cofnąć mój znacznik wyboru. Nie widzę logrotate w katalogu dla obecnego Cygwina. Może budować poprawnie ze źródła, ale MAKEFILE nie zawiera niczego dla CYG ani WIN.
mfinni
@mfinni Niestety, nie ma go w pakiecie, chociaż inni używali go w Cygwin. = /
Wesley,
To mi się podoba
mfinni
2
Potwierdzam możliwość przeniesienia pliku dziennika zapasów Cygwin syslog-ng.
ivan_pozdeev
10

Jeszcze go nie użyłem, ale LogRotateWin to natywna implementacja programu logrotate dla systemu Windows, która wygląda obiecująco. Przynajmniej nie wymaga Cygwina.

bmaupin
źródło
3
Użyłem tego w systemie Windows 2012 R2. Działa świetnie. choco install logrotatenastępnie edytuj c: \ program files (x86 \ LogRotate \ Content \ logrotate.conf
spuder
8

Spójrz na logwot8 , który jest pakietem logrotate, ograniczonego środowiska powłoki i wymaganych komponentów warstwy cygwin gotowych do pracy po wyjęciu z pudełka (rozmiar instalatora 4 MB). Musisz dostosować plik konfiguracyjny do swoich wymagań. Jest bezpłatny do użytku i dystrybucji na podstawie 2-zdaniowej licencji BSD.

Oświadczenie: Jestem programistą :-)

itefix
źródło
Jakieś perspektywy dla źródeł? Chcesz, powiedzmy, skompilować go dla zainstalowanego Cygwina zamiast ciągnąć osobny?
ivan_pozdeev
Możesz pobrać źródła logrotate używane w logwot8 tutaj .
itefix