В системе обнаружен баг. Он проявлялся 30.12.2019 с 21:30:00 до 21:39:59. Допустим надо найти ошибки 500 в этот промежуток.
Пример вывода 235.243.133.78 - - [30/12/2019:21:35:47 +0000] "PATCH /customers HTTP/1.1" 400 3264
Как написать команду?
Временной интервал GREP
Модератор: Bizdelnick
- /dev/random
- Администратор
- Сообщения: 5289
- ОС: Gentoo
Re: Временной интервал GREP
grep работает не с датами, а с символами, и вам нужно искать последовательность символов, присутствующую во всех строках даты/времени в этом интервале, а затем искать ошибку 500 в найденном:
Номер часа (21) может потребоваться изменить, если часовой пояс, в котором указаны записи в логе, отличается от часового пояса, в котором вы указали временной интервал в своём сообщении.
Shell
grep '30/12/2019:21:3' /path/to/log/file | grep '" 500 '
Re: Временной интервал GREP
Понял примерно. А как сделать в одном запросе, чтобы отобразились все записи в такой промежуток "Он проявлялся 30.12.2019 и 31.12.2019 с 21:30:00 до 21:39:59" и поместить эти записи в отдельный файл, например bug.txt/dev/random писал: ↑09.04.2020 22:08grep работает не с датами, а с символами, и вам нужно искать последовательность символов, присутствующую во всех строках даты/времени в этом интервале, а затем искать ошибку 500 в найденном:Номер часа (21) может потребоваться изменить, если часовой пояс, в котором указаны записи в логе, отличается от часового пояса, в котором вы указали временной интервал в своём сообщении.Shell
grep '30/12/2019:21:3' /path/to/log/file | grep '" 500 '
- /dev/random
- Администратор
- Сообщения: 5289
- ОС: Gentoo
Re: Временной интервал GREP
Указываете, что второй символ может быть нулём, а может - единицей:
Shell
grep '3[01]/12/2019:21:3' /path/to/log/file > bug.txt
Shell
grep '3[01]/12/2019:21:3' /path/to/log/file | grep '" 500 ' > bug.txt
-
- Сообщения: 1
Re: Временной интервал GREP
Целиком задание звучит так, как написать команды?
В системе обнаружен баг. Он проявлялся 30.12.2019 и 31.12.2019 с 21:30:00 до 21:39:59. При этом появлялись ошибки с номерами 400 и 500. Твоя задача — сохранить в отдельный файл логи, которые были записаны в этот период.
Затем эти логи надо разложить по отдельным файлам: логи с одинаковой ошибкой положи в один файл. Как это сделать:
В домашней директории на удалённом сервере создай директорию bug1.
Все запросы, которые произошли в указанный период, положи в файл main.txt.
Внутри директории bug1 создай директорию events.
Внутри директории events создай файлы для ошибок с номерами 400 и 500. Назови эти файлы 400.txt и 500.txt соответственно. В них выдели логи с соответствующей ошибкой из файла main.txt.
В ответе приложи:
команды, которые создают директории bug1 и events;
команду, которой ты выбираешь запросы за указанный период. Это те запросы, которыми ты отбираешь логи в файл main.txt;
команды, которыми ты кладёшь логи в файлы 400.txt и 500.txt из main.txt;
тексты файлов 400.txt и 500.txt.
В системе обнаружен баг. Он проявлялся 30.12.2019 и 31.12.2019 с 21:30:00 до 21:39:59. При этом появлялись ошибки с номерами 400 и 500. Твоя задача — сохранить в отдельный файл логи, которые были записаны в этот период.
Затем эти логи надо разложить по отдельным файлам: логи с одинаковой ошибкой положи в один файл. Как это сделать:
В домашней директории на удалённом сервере создай директорию bug1.
Все запросы, которые произошли в указанный период, положи в файл main.txt.
Внутри директории bug1 создай директорию events.
Внутри директории events создай файлы для ошибок с номерами 400 и 500. Назови эти файлы 400.txt и 500.txt соответственно. В них выдели логи с соответствующей ошибкой из файла main.txt.
В ответе приложи:
команды, которые создают директории bug1 и events;
команду, которой ты выбираешь запросы за указанный период. Это те запросы, которыми ты отбираешь логи в файл main.txt;
команды, которыми ты кладёшь логи в файлы 400.txt и 500.txt из main.txt;
тексты файлов 400.txt и 500.txt.
- Bizdelnick
- Модератор
- Сообщения: 20794
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Временной интервал GREP
i Уведомление от модератора Bizdelnick Здесь не сайт готовых домашних заданий. Как решить задачу — уже было рассказано. Тема закрыта.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали: