2014-12-03 2 views
-3

Можете ли вы дать мне пример того, как фильтровать определенное ключевое слово, например, «ошибка» в сообщениях/var/log /, а затем отправлять электронную почту, если оно находит слово в реальном времени для ошибки.Linux Scripting

Я хотел бы просто посмотреть ключевое слово ошибки в/var/log/messages, а затем отправить его на мой адрес электронной почты.

ответ

1

просто grepit.

tail -f log.log | grep error 

Это перечислит вам все ошибки вы можете отправить их по почте

+0

Если вы хотите продолжить сканирование, вышесказанное не позволит, так как оно останется НАЙДЕННЫМ, пока вы не нажмете CTRL-C. Это будет отображаться на экране, да, но тогда ничего другого не произойдет. – tvCa

1

Что вы можете сделать это: На регулярной основе (который вы решили), вы:

  • скопировать главный файл в другой файл
  • вы DIFF в этом файле, только извлекая только что добавленные части (если файл будет записан последовательно, это будет хороший и чистый блок строк, в конце файла)
  • скопировать основной файл в другой файл, снова (это устанавливает новый эталон для следующей проверки)
  • тогда вы GREP на то, что вы хотите, в блоке линий вы нашли 2 шага назад
  • вы сообщаете найденные строки, используя метод разыскивания (mail, ..)