Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam,
Mam taki problem. Mianowicie potrzebuję wyciągnąć zadane linie ze wskazaną frazą z plików logów apache
( log access.log oraz spakowanych access.log_data.gz )
wykonuję to
zgrep -w 'FRAZA' /var/log/apche2/access.log* > /tmp/plik_docelowy.txt"
Samo polecenie działa poprawnie, z tym, że plików logów jest dość sporo a powyższą komendę
wykonuje z poziomu serwera www ( skrypt php z shell_exec ) i generalnie mam dość długi timeout po czym wywala błąd serwera ( error 524 A timeout occurred ).
Oczywiście docelowo skrypt jest wykonany... ale słabo wygląda to generowanie od strony użytkownika.
- sprawdziłem to, i w momencie wykonywania skryptu, zużycie procesora podskakuje do 98-100% ( przez grepa )
Jest jakaś możliwość żeby obejść ten problem ( np coś zamiast zgrepa czy jakieś dodatkowe kontrole )
Pozdrówki
Ostatnio edytowany przez dawid77 (2021-11-18 12:34:30)
Offline
nice/ionice
Offline
Dzięki za info, ale niczym nie mogę tego zbić.
CPU przy każdym uruchomieniu wpada na 100%. Ma ktoś moze pomysł jak wykonać te polecenie tak aby nie obciążać procesora na 100%?
Offline
W prymitywny sposób można i tak:
zcat logi.gz | pv -L 10m -q | grep 'szukany_tekst'
Offline
Przez wywoływanie takiego polecenia z poziomu PHP tylko sobie utrudniasz robotę.
scp root@SERWER:/var/log/apache/access.* $PWD/logi_apacha/
i masz logi apacha pod nosem w folderze $PWD/logi_apacha/ i możesz je sobie przeglądać lokalnie grepem czy czymkolwiek innym.
Przy okazji wymijasz standardowe problemy PHP, limit CPU dla skrypta PHP, timeout dla skrypta, itp.
Pomijam fakt, że funkcja system z PHP jest podstawową przyczyną włamań na serwery po WWW,
a już dawanie PHP wjazd do /var/log/* pachnie samobójstwem.
Ostatnio edytowany przez Jacekalex (2021-11-19 12:27:33)
Offline
Strony: 1