Возникла ситуация, когда надо было найти все запуски задачи в логах. За несколько лет... Тогда как раз были длинные выходные, так что я интереса ради запустила греп (виртуалка линуксовая):
grep "myTaskPerformer"
Смотрю — долго думает. В итоге выкачала логи к себе локально и запустила робота, который пробежался, их обработал.
А потом пришел коллега и показал другую команду, которая выполнилась почти моментально. Правда, я искала по всем логам, забыв, что нужное мне вынесено в task-логи.
Так что он:
- добавил ограничение по названиям файлов, искал среди меньшего количества в итоге
- греп тоже изменил, добавив больше уточнения в поисковую фразу
find /opt/jboss/standalone/log -name task* | sort -h | xargs grep "myTaskPerformer: processed" > /tmp/logs.txt
В итоге моя команда подвисла и через 4 дня ещё думала (робот локально быстрее отработал).
Его команда сработала моментально. Пожалуй, запишу себе её на будущее =)
рекомендую опцию -r
ОтветитьУдалитьgrep -r your_text_to_be_found_in_files
можно с опцией --include="task*"
grep -r "myTaskPerformer: processed" --include="task*"