2016-09-16 8 views
1

bashスクリプトを書いて、その日のdaemon.logsを特定の単語で取得し、メールごとに送信しています。ここにすべてのログを送信する私のスクリプトですが、私はその日のログを欲しいだけです。たとえば、今日は16/09/16です。16/09/16のすべてのログが必要です。誰かが私を助けることができれば本当に感謝しています。今日のログを取得するためのBashスクリプト

#!/bin/bash 

    EMAIL="[email protected]" 
    DIR="/var/log/daemon.log" 
    FILTER="named.*denied|named.*transfer" 


    egrep "$FILTER" "$DIR" | mail -s "DNS Query and Transfers on $(date +%F)" $EMAIL 

答えて

0

私は、日付がログ行の先頭にYYYY/MM/DDとして格納されていると仮定します。

egrep "^$(date +%Y/%m/%d).+$FILTER" | .... 
+0

あなたの答えをありがとう、本当にありがとう、私はそれを試みたが動作しません。 9月16日00:08:19バーチ名前[31524]:クライアント85.159.233.131#29007:クエリ(キャッシュ) 'cpsc.gov/ANY/IN'が拒否 – jake

+0

慎重に投稿を読む:私は言った*私は、日付がYYYY/MM/DD *のようにログ行の先頭に格納されていると仮定します。あなたの行は* 9月16日00:08:19で始まると言います。*。これはあなたの投稿に記載したものとは違って**、**です。ラインが異なって見える場合は、それに応じて正規表現パターンを適合させる必要があることは明らかです。ゴミ入れ、ゴミ出し... – user1934428

関連する問題