Я использую Postfix в моем local.I'm написанию сценария для получения отложенного/отсканированного почтового отчета на ежедневной основе. Если я прав, обычно журналы печатаются как столбцы в файле журнала.Извлечь конкретные столбцы в Postfix/var/log/maillog
Мое предложение: я хочу, чтобы grep в предыдущий день «на», «статус», «сказал», и это сообщение, например, «сказал: 550 Invalid Recipient». И дело в том же журнале печатается несколько раз, Но мне нужно grep любой из подобных журналов из всех.
Feb 13 13:40:35 ganga11 postfix/smtp [12098]: 3371F2BF52: to =, relay = none, delay = 1.2, delayays = 0.84/0.01/0.27/0.07, dsn = 5.1.1, status = (хозяин сказал: 550 5.1.1 Получатель не найден http://x.co/irbounce (в ответ на команду RCPT TO)
13 фев 13:40:35 ganga11 postfix/smtp [6923]: 3371F2BF52: to =, relay = none , delay = 1.5, задержки = 0.84/0/0.46/0.19, dsn = 5.0.0, статус = отскок (хозяин сказал: 550 Нет такого пользователя ([email protected] (в ответ на команду RCPT TO))
13 февраля 13:40:35 ganga11 postfix/smtp [29489]: 3371F2BF52: to =, relay = none, delay = 1.3, delayays = 0.84/0.01/0.38/0.1, dsn = 5.0.0, status = отскок (хост сказал: 550 # 5.1.0 Адрес отклонен (в ответ на команду RCPT TO)
13 февраля 08:14:45 ganga11 postfix/smtp [6736]: F093B2BCA3: to =, relay = none, delay = 6139, delayays = 6139/0.02/0.15/0, dsn = 4.4.1, статус = отложен (подключен к aaaaaa.co.in Connection отказано)
13 фев 13:40:36 ganga11 postfix/smtp [6940]: 3371F2BF52: to =, relay = none, delay = 2.3 , задержки = 0.84/0.01/0.17/1.3, dsn = 5.1.1, status = отскок (хозяин сказал: 550 5.1.1 Получатель не найден. http://x.co/irbounce (в ответ на команду RCPT TO)
13 фев 13:40:35 ganga11 postfix/smtp [6923]: 3371F2BF52: to =, relay = none, delay = 1.5, delayays = 0.84/0/0.46/0.23, dsn = 5.0.0, статус = отскок (хозяин сказал: 550 Нет такого пользователя ([email protected]) (в ответ на команду RCPT TO)
13 февраля 04:14:24 ganga11 postfix/smtp [6736]: F093B2BCA3: до =, реле = нет, задержка = 6139, задержки = 6139/0,02/0,15/0, dsn = 4.4.1, статус = отложен (подключиться к xyzz.com отказано в подключении)
Feb 13 17:14:11 ganga11 postfix/smtp [6736]: F093B2BCA3: to =, relay = none, delay = 6139, delayays = 6139/0.02/0.15/0, dsn = 4.4.1, status = отложен (подключиться к bbbbb .com Connection отказано)
Hi kometen, Я пробовал с sed, awk и grep, но я не могу найти правильную команду. Это тот, который казался несколько, но извлекал все журналы. awk -F, '{print $ 7 $ 12}' /home/samplelog.txt | awk -F \ f = 14 -vt = 25 '{для (i = 14; i <= t; i ++) printf ("% s% s", $ i, (i == t)? "\ n": OFS)} '| sort | uniq – Narasimman
Я предлагаю вам использовать grep для получения нужных строк и вырезать его, чтобы извлечь столбцы с параметром -f и использовать пробел в качестве разделителя. Где-то вроде «grep» foo | bar | baz »| cut -d "" -f 1,2,3 '. http://serverfault.com/ - лучшее место, чтобы спросить. – kometen