Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
Привет! Мой день начинается с того, что я захожу в консоль и грепаю логи на линуксе. Сейчас хочу поручить это дело другому человеку, но дать ему доступ к консоли не могу, потому что он с ней не разберется. Надумал сделать симпл пхп парсер с одним полем, который будет работать по тому же принципу как и греп. По сути, мне нужен только поиск слова целиком (grep -w Asd) и поиск одной регуляркой (grep Asd.*asd). Как это реализовать на пхп, если экзек открывать не хочется (из соображений безопасности)? Ребят, кто разбирается, помогите пожалуйста. Самому разбираться, гуглить, экспериментировать времени нет. Жена капризничает, ребенок плачет, на работе грузят. У меня на это может целый день уйти, а вы, знатоки, за две минуты разберетесь. Благодарю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2015, 22:58 |
|
||
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
andrey10, В чем проблема-то, лог в архив и по почте человеку который будет разбираться. И доступ можно не давать, раз такая секретность и архив можно запоролить, чтоб по пути через почтовые сервера его роботы не читали. Если человек есть смышленый, то ему и разбираться, а на чем, PHP, python, perl или еще на чем, не важно, ведь наверно важен только результат? Если (обработка.текущий_лог) === Флаг_Найдено_Условие ТО письмо(администратору, ------) Иначе письмо("обработано --- записей, за --- минут, результат ---) КонецЕсли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 00:03 |
|
||
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
andrey10Надумал сделать симпл пхп парсер с одним полем, который будет работать по тому же принципу как и греп.Только работать будет в разы... не в лучшую строну. andrey10мне нужен только поиск слова целиком (grep -w Asd) и поиск одной регуляркой (grep Asd.*asd).Слова и регекспы заранее известны или каждый раз по ситуации? andrey10если экзек открывать не хочется (из соображений безопасности)Тут можно посмотреть в сторону хороших ограничений. Если слова поиска для грепа известны заранее, то сложно представить, что Вы вообще напишите какие-то потенциально опасные команды для выполнения :-) Тут все просто. Далее. Разрешать екзек можно не на всём сервере, а только на каком-то определённом аккаунте, запуская его со своим php.ini как CGI или FastCGI. Следующее. Привилегии доступа. Скажем так, можно дать пользователю, от которого выполняется PHP, достаточно ограниченный доступ. Например, только на чтение и/или только к определённым директориям/файлам. Chroot, jail и т.п. тоже никто не отменял. А по-хорошему, конечно, присоединяюсь к предыдущему оратору - логи в архив и на мыло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 01:19 |
|
||
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
Вес лога ~2 гигабайта. Нельзя вырезать 123 последних строк и отправить, так как вся информация в файле необходимая. Хорошо, допустим, я создал пользователя с ограничениями и запустил от него пхп. Как должен выглядеть сам скрипт с полем для обработки текста grep'ом и выводом результата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 12:46 |
|
||
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
andrey10Как должен выглядеть сам скрипт с полем для обработки текста grep'ом и выводом результата?Форма + http://php.net/manual/ru/function.system.php + что-то, что ловит входные данные. Вроде такого Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Конечно, можно часть команды прописать явно, а из формы только аргументы принимать. Можно дополнительно отфильтровать допустимые символы в принимаемых данных. Или делать выбор из заранее заготовленных полных команд (вручную вообще ничего не вводить). Тут вариантов - тьма. Да, маленький нюанс. Имя команды желательно указывать полностью, с путём, типа /bin/awk (по крайней мере, так всегда работает). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 13:43 |
|
||
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
andrey10Вес лога ~2 гигабайта. Нельзя вырезать 123 последних строк и отправить, так как вся информация в файле необходимая.Подумалось... Расшарить ресурс через самбу или фтп - нехай забирает и грепает на своём компе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 22:13 |
|
||
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
а не проще скриптом грепать и класть/отправлять куда надо, скрипт по крону, если набор слов(параметров) одинаковый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 11:10 |
|
||
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
судя по темам автора, в шелл скриптах он тоже не разбирается... верно подсказали. если фиксированые критерии парсинга, кроном парсить и пусть человек готовый результат забирает, если он интерактивно чтото хочет сделать, ему же быстрее, скачать лог в архиве, и пусть как хочет парсит. парсить на пхп читая , верно подметили, не медленно а убийственно медленно в сравнении с шеловскими утилитами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 13:43 |
|
||
|
Парсер логов php с grep
|
|||
|---|---|---|---|
|
#18+
хотя я в подобной ситуации отчасти по приколу, отчасти хахотелось. написал скрипт, где есть несколько команд, и поставил его как шелл оболочку юзеру. заходит юзер в консоль, но попадает сразу в этот скрипт, и сидит там себе...и таки был парсинг логово нескольких типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 13:44 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38865226&tid=1462054]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 389ms |

| 0 / 0 |
