特定の日付のログを取得する(Apacheアクセスログ)

特定の日付のログを取得する(Apacheアクセスログ)

次のように出力されるファイルから特定の時間範囲を取得する方法を提案してください。

81.200.176.13 - - [23/Mar/2021:09:34:03 +0000] "GET /crx/packmgr/img/thumbnail.png HTTP/1.1" 200 6235

3月22日20時から22時までの日付が必要です

答え1

期間は非常に具体的なので、次のものを使用できますgrep

grep '\[23/Mar/2021:2[0-2]' /var/log/apache2/access.log

つまり、日付文字列を検索し、比率は20〜22時間の範囲内です。

または、後で参照できるように、sed次の方法を使用することもできます。

sed `/START/,/END/p`

例えば

sed '/21\/Mar\/2021:01:/,/23\/Mar\/2021:22:/p'

Apacheを強制的に使用する場合journald引用する- 警告に注意してください。)以下を参照することもできます。

journald -u apache2 --since "2021-03-23 20:00:00" --until "2021-03-23 22:00:00"

答え2

テキストエディタでログファイルを開き、最速のタイムスタンプを検索してそこから始めることはできませんか?仕事を非常に簡単にしたい場合。

VIM では、編集モードでないときに /2021:20 を書き込むと、このタイムスタンプを含む最初の行に移動します。そこからスクロールします。

関連情報