我想建立一個python腳本里grep在我的SMTP服務器低谷進出口日誌文件,並報告總金額的大部分發送域每天,每週和每月。 我很新的python,我正在努力如何實現這一點。HOWTO構建Python腳本來分析進出口的日誌文件,並生成發送域算
相關線在進出口日誌文件通常是這樣的:
Feb 24 00:00:23 smtp1.mail.net exim[5660]: 2014-02-24 00:00:23 1Wuniq-mail-idSo-Fg -> [email protected] R=mail T=remote_smtp H=smtp.mail.net [000.00.34.17]
Feb 24 00:00:23 smtp1.mail.net exim[5660]: 2014-02-24 00:00:23 1Wuniq-mail-idSo-Fg -> [email protected] R=mail T=remote_smtp H=smtp.mail.net [000.00.34.17]
Feb 24 00:00:23 smtp1.mail.net exim[5661]: 2014-02-24 00:00:23 1Wuniq-mail-idSm-1h => [email protected] R=mail T=pop_mail_net H=mta.mail.net [000.00.34.6]
Feb 24 00:00:23 smtp1.mail.net exim[5661]: 2014-02-24 00:00:23 1Wuniq-mail-idSm-1h Completed
的sys
,os
和re
模塊應該足以實現這一目標(?)。 我也想使用字典,因爲我想每天在cron中運行腳本。
的主要問題是:我如何用grep侃僅槽相關的線路? Exim記錄了很多,我只想grep包含「=>和 - >」的行。結合以「1W」開頭的uniq maild ID。 另外,對於每日腳本,腳本必須通過日誌文件「尾巴」,並應從最後一次腳本停止解析日誌文件的最後一次位置開始執行。 爲了生成可靠的每日發送域數,這是必要的。
幫助將非常感激。
這有助於一大堆,這正是我所需要的輸出。謝謝! –