Apache-2.2
Debian Lenny 上的 apache2 http 監控
是否可以知道使用者是否正在訪問我伺服器上的 php 文件?
有沒有我可以通過 ssh 使用的命令來列出每個 IP 地址以及他們請求的頁面?
我的最終目標是執行一個 cron 作業來執行一個特定的 php 文件,如果它還沒有被任何使用者訪問。
您可以檢查 apache 訪問日誌文件。它顯示以下欄位:日期/時間、IP 地址、包含參數的 URL 等。
查看文件;
$ less /var/log/apache/access.log
要搜尋文件:
$ grep keyword /var/log/apache/access.log
請注意,在 apache 日誌中看到 PHP 文件名並不能保證它在您執行腳本時仍在執行。
**編輯:**如果您想在它們建立時查看 HTTP 連接,您可以像這樣使用 tcpdump:
$ sudo tcpdump -XX -vv -n -w /tmp/http_trace.pcap port 80
我不確定過濾器語法“埠 80”是否 100%,但這只會擷取發往埠 80 的 HTTP 流量。此外,您可以使用此命令查看已建立的連接:
$ netstat -an | grep ESTABLISHED
要連續觀看此命令,可以使用 watch 命令:
$ watch -n1 netstat -an
-n1 表示每隔一秒執行一次命令。