次のように出力されるファイルから特定の時間範囲を取得する方法を提案してください。
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 を書き込むと、このタイムスタンプを含む最初の行に移動します。そこからスクロールします。