有人告訴我這樣做是爲了跟蹤最新的人打我的服務器:在我的Apache2 access.log中,如何過濾顯示的內容?
tail -f access.log
然而,這顯示了所有「包括」,包括JS文件,圖形等,如果我有什麼只是想看看人們打的網頁?如何使用tail -f過濾?
有人告訴我這樣做是爲了跟蹤最新的人打我的服務器:在我的Apache2 access.log中,如何過濾顯示的內容?
tail -f access.log
然而,這顯示了所有「包括」,包括JS文件,圖形等,如果我有什麼只是想看看人們打的網頁?如何使用tail -f過濾?
您可以通過grep
或awk
管道輸出。例如,如果您的所有網頁的URL有.php
,你可以嘗試以下方法:
tail -f access.log | grep '\.php'
如果您的訪問日誌包括引用字段,上面還將匹配的資源。我們只對請求字段中的.php
事件感興趣,而不是引用者字段。通過使用awk
,我們可以區分這些。
tail -f access.log | awk '$7 ~ /\.php/ { print }'
如果您的日誌格式不正常,則可能需要調整$7
。
您投放.php文件:
tail -f access_log | grep ".php"
或者,如果你所有的包括是一個文件夾名爲「包括」,例如:
tail -f access_log | grep "include" -v
,或者如果你想計數命中某個文件:
grep "filename" access_log -c