nginx 접근 로 그 를 날짜 별로 나 누 어 포장 하고 방문 로그 에 따라 메 일 열 림 률 을 통계 합 니 다.
3718 단어 solution
다음은 로그 분할 패키지 스 크 립 트 입 니 다. 스 크 립 트 에 대한 자세 한 설명 (/ root / access log pack. sh)
#!/bin/sh
#
d=`date -d "-1 day" +%Y%m%d`
# nginx pid
nginxPid="/run/nginx.pid"
# nginx
cd /var/log/nginx
#
mv access.log access.log-$d
#
gzip access.log-$d
# nginx
kill -HUP `cat $nginxPid`
# 10
find . -name access.log-*.gz -type f -mtime +10 -exec rm -rf {} \;
그리고 crontab 의 정시 실행 을 정의 하고 매일 0 시 정각에 실행 합 니 다.
0 0 * * * /root/access_log_pack.sh > /dev/null 2>&1
이렇게 매일 0 시 에 첫날 로 그 를 포장 하고 새로운 하루 에 새로운 방문 로 그 를 생 성 합 니 다.
2. 메 일 오픈 률 통계 분석
메 일 열 림 률 통계 의 원 리 는 이렇게 설정 되 어 있 습 니 다. 메 일 템 플 릿 에 길이 와 너비 가 모두 픽 셀 인 그림 을 추가 하면 육안 으로 알 수 없습니다. 사용자 가 메 일 을 열 때 이 그림 을 방문 하고 로그 에 이 요청 을 기록 합 니 다. 우 리 는 그림 뒤에 두 개의 인 자 를 추가 합 니 다. email 과 time 은 각각 메 일 을 받 는 메 일 주소 와 보 낼 때의 시간 스탬프 입 니 다.이렇게 하면 사용자 가 같은 메 일 을 반복 해서 열 어서 발생 하 는 오 차 를 피 할 수 있다.이 인 스 턴 스 에 서 는 두 가지 유형의 메 일 을 통계 해 야 합 니 다. 그림 은 각각 verification 이 라 고 명명 되 어 있 습 니 다.type_1. png 와 verificationtype_2.png。기록 한 로그 형식 은 다음 과 같 습 니 다.
127.0.0.1 - - [25/Jun/2019:16:38:02 +0800] "GET /[email protected]&time=1398006871 HTTP/1.1" 200 15221 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
127.0.0.1 - - [25/Jun/2019:16:30:06 +0800] "GET /admin/system_period_actions HTTP/1.1" 200 5 "-" "curl/7.43.0"
127.0.0.1 - - [25/Jun/2019:16:38:02 +0800] "GET /[email protected]&time=1397006871 HTTP/1.1" 200 15221 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
127.0.0.1 - - [25/Jun/2019:16:32:16 +0800] "POST /admin/stats/add_activation_email_open_stats HTTP/1.1" 200 5 "-" "curl/7.43.0"
127.0.0.1 - - [25/Jun/2019:16:38:02 +0800] "GET /[email protected]&time=1397006871 HTTP/1.1" 200 15221 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
통계 형식 1 과 같은 메 일 열 림 률 의 핵심 스 크 립 트 는?
cat access.log-* | grep '/verification_type_*' | awk '{print $7}' | sort | uniq | grep -c 'verification_type_1.png'
위 스 크 립 트 의 실행 과정 을 자세히 설명 하 겠 습 니 다.
cat access.log-* | grep '/verification_type_*' | awk '{print $7}' | sort | uniq | grep -c 'verification_type_2.png'
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
알고리즘 파트-2 : 대괄호 검증안녕 얘들아, 알고리즘 시리즈를 계속하자... 오늘은 유효한 대괄호 문제를 해결하는 방법을 보여 드리겠습니다. 이 문제를 먼저 논의해 봅시다. 이 문제에서 우리는 문자열 형태의 괄호를 받았습니다. 우리는 그것들이 유...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.