@San4es123123

Как забрать логи с сервера за определенное время?

Нужно забрать логи за 2019.12.30 и 2019.12.31 в период 21:30:00 до 21:39:59
Забираю логи командой
cat logs/2019/12/apache_2019-12-30.txt >> main.txt и cat logs/2019/12/apache_2019-12-31.txt >> main.txt , но не могу понять как забрать за определенное время
  • Вопрос задан
  • 5661 просмотр
Решения вопроса 1
shambler81
@shambler81 Куратор тега Linux
находится в 1 клике поиска
https://stackoverflow.com/questions/17238908/how-t...
И так логика простая вы делаете
cat  you.log | grep "условие по дате" | grep "ваше условие че вы там ищете" | grep " тут еще условие" > 111.txt

если последнее не делать то просто принтанет.
Каждое предидущее условие будет передаваться на новый ввод вот этим символом |
то есть результат прошлой команды подастся на ввод следующей эквивалент "И"
Но в реальной работе куда лучше использовать
tail -f | grep поскольку вы в отличие от открывания лога тут смотрите в режиме риалтамйм, очень удобно для работы.

Если у тебя диапазон даты то лучше подойдет
awk
https://coderoad.ru/30352664/Grep-%D0%BC%D0%B5%D0%...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
через grep
Ответ написан
Комментировать
@anikavoi
Если нужен определенный час, то да - grep | zgrep
grep "2019-12-30\s09:" .../2019/12/apache_2019-12-30.txt
Но там еще может быть засада с логротацией, которая не обязательно настроена на 00:00.
Мы попробовали несколько тулуз, но в результате накорябали свое.
У нас nginx умеет в syslogd, прием датаграм написали сами, хотя сначала потр...сь с logstash, но оказалось, что там все просто. Демон слушает порт, принимает датаграмы, откусывает заголовок, превращает строку лога в строку json и сует ее в solr.
Потом самописная же веб-морда дает тебе че хочешь, с выборками и сортировками...

... чет написал я это, и удивился - как все непросто то :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы