내 웹사이트 방문자의 IP를 저장하고 싶고 PHP를 사용하고 싶습니다. 크론을 사용해야 하나요? 아니면 방문자의 IP가 어떻게 자동으로 저장되나요?
답변1
기본적으로 Apache는 각 방문자의 IP를 기록합니다. 다음을 결합하여 awk
이 파일에서 고유 방문자 목록을 얻을 수 있습니다 sort
.
awk '{print $1}' <log_path> | sort -u
/var/log/httpd/access_log
/var/log/apache2/access.log
Red Hat 유형 시스템 및 Ubuntu 유형의 Apache 로그 경로는 어디에 있습니까 ?
물론 고유하게 만들 필요는 없으므로 sort
원하지 않으면 삭제하면 됩니다.
편집하다:
@facundo-victor가 지적했듯이, 정말로 고유한 방문자를 원한다면 awk
다음과 같이 우리가 보는 것을 추적하고 처음에만 인쇄함으로써 모든 작업을 수행하고 추가 프로세스를 절약할 수 있습니다.
awk '{if (!unique[$1]++) {print $1}}' <log_path>
ASCII 순서가 아닌 로그 파일에 처음 나타나는 순서대로 정렬됩니다.
또한 이는 로그의 첫 번째 필드가 많은 최신 버전의 Apache에서 기본값인 IP 주소라고 가정하지만 반드시 그런 것은 아닙니다.