Как насчет find
?, самый простой способ, который я могу придумать, это использовать его, может быть, он немного грубоват, но он должен выполнять свою работу
find /var/opt/ -type f -name "*.log" -exec grep -iH 'err\|warn\|fail\|whatever' {} >> total.log \;
Мне непонятно, хотите ли вы просто отфильтровать все файлы журнала (за все дни )или только за сегодняшний день, если вам нужно отфильтровать по дате, вы можете использовать опцию -mtime
из find
или просто сделайте "трюк" с опцией -name
, чтобы фильтровать только, например, журналы за вчерашний день
find /var/opt/ -type f -name "*_`date --date yesterday '+%Y_%m_%d'`.log" -exec grep -iH 'err\|warn\|fail\|whatever' {} >> total.log \;
Не уверен, что это может вам помочь... Еще не ясно, какой синтаксис у файлов журналов? Потому что find
не найти в алфавитном или числовом порядке, поэтому вы получите хаотичный файл. Обычно (и должно быть догмой ), журналы начинаются с %Y%m%d _%H :%M или что-то в этом роде, если это так, вы можете sort
вывести find
так же, как
find /var/opt/ -type f -name "*.log" -exec grep -iH 'err\|warn\|fail\|whatever' {} \; sort -no total.log
Я попробовал это на моем /var/log
и похоже, что это работает, но, как я уже сказал, это грубый способ.
Надеюсь, это поможет вам.
Дополнительную информацию об опциях, которые я использовал с find
, sort
и grep
, можно найти на страницах man
.
Обычно они указываются как параметры загрузки ядра Linux . Поскольку boot=
не является параметром, распознаваемым реальным ядром, этот параметр просто отображается в /proc/cmdline
. Оттуда initramfs или любые скрипты дистрибутива -могут прочитать его и делать с ним все, что захотят.
boot=casper
специально используется загрузочными носителями Debian/Ubuntu для запуска процедуры initramfs, специфичной для загрузочных носителей, т. е. вместо монтирования обычной корневой файловой системы настройте корневую файловую систему на основе образа файловой системы только для чтения -+ либо RAM-диск или отдельно указанный «постоянный» раздел/файл образа. Специальная процедура загрузки с живого носителя также делает доступными ряд других параметров загрузки, которые в противном случае могли бы быть недоступны, например. указать сетевую конфигурацию системы по параметрам загрузки ядра.
Если сохранение не включено, любые изменения в корневой файловой системе применяются только к ОЗУ и будут потеряны при перезагрузке. При сохранении указанный раздел/образ сохранения будет содержать только любые изменения относительно образа корневой файловой системы -только для чтения, который затем может быть сохранен на CD/DVD или любом другом носителе -только для чтения :только сохранение разделу/образу потребуется доступное для записи хранилище.
Документация поboot=casper
:http://manpages.ubuntu.com/manpages/bionic/man7/casper.7.html
boot=live
, вероятно, используется некоторыми другими дистрибутивами для аналогичных целей.
Наличие специальной опции загрузки для запуска процедур живого носителя позволяет использовать тот же живой носитель для загрузки в обычную доступную для записи корневую файловую систему с внешнего носителя, например. восстановить поврежденный загрузчик.
Не все живые дистрибутивы Linux требуют такой опции загрузки. :Также можно собрать initramfs так, чтобы он -был жестко запрограммирован для работы только в качестве загрузки с живого носителя.