3

Я пытаюсь написать скрипт, используемый для буфера, который выполняет полный пакетный захват сетевого трафика. Поскольку речь идет о довольно большой сети, мы разделили записи на сегменты по 100 МБ. В периоды большого сетевого трафика, часто в течение одного минуты, у нас будет несколько pcaps, которые покрывают этот период.

Поэтому я хочу, чтобы у меня был скрипт bash, позволяющий аналитику, который что-то ищет, указать дату и время, а также сколько минут с каждой стороны они хотят искать файлы. Очевидно, я могу сделать что-то вроде этого -

ls -al | grep "Dec  1" | grep 02:00
ls -al | grep "Dec  1" | grep 02:01

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

Я не совсем уверен, как это сделать, любая помощь будет оценена.

2 ответа2

1

find -iname "" -mtime -7 -exec zgrep "" {} \;

Для бывших

find /opt /WebSphere /AppServer /profile /application /logs / -имя "SystemOut *" -mtime -7 -exec zgrep "FileNotFoundException" {} \;

Он найдет в каталоге /opt /WebSphere /AppServer / Profiles / application / logs / файлы, начинающиеся с SystemOut за последние 7 дней, и будет искать исключение String FileNotFoundException.

1

Некоторые из мелких вещей , find (на GNU/Linux) может сделать для вас:

Единицы:

  • n ровно п untis
  • -n меньше чем n единиц
  • +n больше чем n единиц -

Что случилось:

  • -atime: последний раз обращались
  • -ctime: изменения самого файла (разрешения, владельцы,…), а не его содержимого
  • -mtime: содержимое файла изменено
  • -amin n: n минут возраста
  • -atime n: n дней (24 часов) назад
  • то же самое касается ctime/min и mtime/min)

Таким образом:

  • find -atime -30 → на сайте обращались менее 30 дней назад
  • find -ctime +5 → более 5 дней назад, изменения в самом файле
  • find -mtime +2 -31 → содержимое файла изменилось более двух дней, но менее 31 дня назад

также - -daystart: после сегодняшнего дня, 0,00 ч


оглавлению

find вещи -exec grep {} \; →; последняя часть ({} \;) важна - обратите внимание на один пробел между {} и \;

Опция -exec позволяет включать другие команды в find


Также: почему не следует анализировать вывод ls

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .