powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Парсер логов php с grep
9 сообщений из 9, страница 1 из 1
Парсер логов php с grep
    #38863741
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет! Мой день начинается с того, что я захожу в консоль и грепаю логи на линуксе. Сейчас хочу поручить это дело другому человеку, но дать ему доступ к консоли не могу, потому что он с ней не разберется. Надумал сделать симпл пхп парсер с одним полем, который будет работать по тому же принципу как и греп. По сути, мне нужен только поиск слова целиком (grep -w Asd) и поиск одной регуляркой (grep Asd.*asd). Как это реализовать на пхп, если экзек открывать не хочется (из соображений безопасности)? Ребят, кто разбирается, помогите пожалуйста. Самому разбираться, гуглить, экспериментировать времени нет. Жена капризничает, ребенок плачет, на работе грузят. У меня на это может целый день уйти, а вы, знатоки, за две минуты разберетесь. Благодарю!
...
Рейтинг: 0 / 0
Парсер логов php с grep
    #38863783
Guest1234323433232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey10,

В чем проблема-то, лог в архив и по почте человеку который будет разбираться. И доступ можно не давать, раз такая секретность и архив можно запоролить, чтоб по пути через почтовые сервера его роботы не читали. Если человек есть смышленый, то ему и разбираться, а на чем, PHP, python, perl или еще на чем, не важно, ведь наверно важен только результат?

Если (обработка.текущий_лог) === Флаг_Найдено_Условие ТО
письмо(администратору, ------)
Иначе
письмо("обработано --- записей, за --- минут, результат ---)
КонецЕсли
...
Рейтинг: 0 / 0
Парсер логов php с grep
    #38863805
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10Надумал сделать симпл пхп парсер с одним полем, который будет работать по тому же принципу как и греп.Только работать будет в разы... не в лучшую строну.

andrey10мне нужен только поиск слова целиком (grep -w Asd) и поиск одной регуляркой (grep Asd.*asd).Слова и регекспы заранее известны или каждый раз по ситуации?

andrey10если экзек открывать не хочется (из соображений безопасности)Тут можно посмотреть в сторону хороших ограничений.
Если слова поиска для грепа известны заранее, то сложно представить, что Вы вообще напишите какие-то потенциально опасные команды для выполнения :-) Тут все просто.
Далее. Разрешать екзек можно не на всём сервере, а только на каком-то определённом аккаунте, запуская его со своим php.ini как CGI или FastCGI.
Следующее. Привилегии доступа. Скажем так, можно дать пользователю, от которого выполняется PHP, достаточно ограниченный доступ. Например, только на чтение и/или только к определённым директориям/файлам. Chroot, jail и т.п. тоже никто не отменял.


А по-хорошему, конечно, присоединяюсь к предыдущему оратору - логи в архив и на мыло.
...
Рейтинг: 0 / 0
Парсер логов php с grep
    #38864131
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вес лога ~2 гигабайта. Нельзя вырезать 123 последних строк и отправить, так как вся информация в файле необходимая.

Хорошо, допустим, я создал пользователя с ограничениями и запустил от него пхп. Как должен выглядеть сам скрипт с полем для обработки текста grep'ом и выводом результата?
...
Рейтинг: 0 / 0
Парсер логов php с grep
    #38864209
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10Как должен выглядеть сам скрипт с полем для обработки текста grep'ом и выводом результата?Форма + http://php.net/manual/ru/function.system.php + что-то, что ловит входные данные. Вроде такого
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<form method="POST">
  <input type="text" name="command" />
  <input type="submit" />
</form>

<?php
if(isset($_POST['command'])) {
  echo '<pre>';
  system($_POST['command']);
}



Конечно, можно часть команды прописать явно, а из формы только аргументы принимать.
Можно дополнительно отфильтровать допустимые символы в принимаемых данных.
Или делать выбор из заранее заготовленных полных команд (вручную вообще ничего не вводить).
Тут вариантов - тьма.

Да, маленький нюанс. Имя команды желательно указывать полностью, с путём, типа /bin/awk (по крайней мере, так всегда работает).
...
Рейтинг: 0 / 0
Парсер логов php с grep
    #38864851
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10Вес лога ~2 гигабайта. Нельзя вырезать 123 последних строк и отправить, так как вся информация в файле необходимая.Подумалось... Расшарить ресурс через самбу или фтп - нехай забирает и грепает на своём компе.
...
Рейтинг: 0 / 0
Парсер логов php с grep
    #38865226
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а не проще скриптом грепать и класть/отправлять куда надо, скрипт по крону, если набор слов(параметров) одинаковый?
...
Рейтинг: 0 / 0
Парсер логов php с grep
    #38865468
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
судя по темам автора, в шелл скриптах он тоже не разбирается...

верно подсказали. если фиксированые критерии парсинга, кроном парсить и пусть человек готовый результат забирает, если он интерактивно чтото хочет сделать, ему же быстрее, скачать лог в архиве, и пусть как хочет парсит.

парсить на пхп читая , верно подметили, не медленно а убийственно медленно в сравнении с шеловскими утилитами.
...
Рейтинг: 0 / 0
Парсер логов php с grep
    #38865471
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя я в подобной ситуации отчасти по приколу, отчасти хахотелось. написал скрипт, где есть несколько команд, и поставил его как шелл оболочку юзеру. заходит юзер в консоль, но попадает сразу в этот скрипт, и сидит там себе...и таки был парсинг логово нескольких типов.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Парсер логов php с grep
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]