SSHによる一定期間のログファイルの出力

SSHによる一定期間のログファイルの出力

access_logがありますが、サイズは2GBに近いです。から2015:09:55まで分析したいのですが2015:09:57、この期間中に項目が500個を超えます。だから私はちょうど私のコンピュータにあるaccess_logを出力してダウンロード2015:09:55し、2015:09:57それを私のEmEditorで開いたいと思います。

私はSSH Commondがうまくいきません。私はこれを試しましたが、うまくいきませんでした。

[root@server ~]# cat /var/log/httpd/access_log | (grep "2015:09:55"||grep "2015:09:56||grep "2015:09:57") > /home/usr/log_access.txt

答え1

正規表現を使用して、範囲を sed の区切り文字として指定できます。

たとえば、2015:09:56 から 2015:09:6(something) の内容を含むすべての項目は次のとおりです。

ssh host "sed -n '/2015:09:5[6-9]/,/2015:09:6/ p' /var/log/httpd/access_log"

出力をローカルファイルとしてキャプチャするには、次のようにリダイレクトを使用します。

ssh host "sed -n '/2015:09:5[6-9]/,/2015:09:6/ p' /var/log/httpd/access_log" >log_snippet

関連情報