Czy istnieje sposób na utworzenie specjalnych plików pod Linuksem, które zachowałyby tylko, powiedzmy 100 ostatnio napisanych linii? Mam proces wypełniania pliku dziennika i chciałbym regularnie analizować jego 100 ostatnich wierszy.
Wiem, że mógłbym użyć jakiegoś logrotatu, ale czy istnieje sposób na utworzenie specjalnego pliku, który wypełniałby się aż do osiągnięcia 100 wierszy, a następnie dodanie wiersza usuwa najstarszy, aby plik zachował tylko 100 wierszy? (rodzaj FIFO opartego na linii)
Wielkie dzięki
cat
uzyskać pochodne treści (takie jak bufor pierścieniowy), ale nie są one zbyt popularne. Są to tak zwane systemy plików o strukturze dziennika. Byłoby idealne dla tego scenariusza. en.wikipedia.org/wiki/Log-structured_file_system . Na razie sugeruję, abyś napisał skrypt, który wykonuje dla siebie tail -n 100.
tail
, ale cieszę się, że się czegoś nauczyłem :)
tail
robi to, abyś mógł napisać zadanie cron, aby wypełnić plik w dowolnym interwale odświeżania, jaki chcesz. po prostu nadpisztail <file> > <targetfile>
. jeśli częstotliwość odświeżania jest wystarczająco wysoka, będzie działać jak bufor FIFO.