Nginx: 로그 설정 과 로그 정시 분할 백업
log_format main '$server_name $remote_addr - $remote_user [$time_local] "$request" '
'$status $upstream_status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'$ssl_protocol $ssl_cipher $upstream_addr $request_time $upstream_response_time';
설정
http {
##
# Logging Settings
##
log_format main '$server_name $remote_addr - $remote_user [$time_local] "$request" '
'$status $upstream_status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'$ssl_protocol $ssl_cipher $upstream_addr $request_time $upstream_response_time';
# access_log off;
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
}
수출
localhost 171.168.1.3 - - [29/Jul/2020:14:16:12 +0800] "GET /nginx/xxx/xx/x?sign=xxxxx HTTP/1.1" 200 200 103 "https://xxx.example.com.cn/nginx/xx/xx/web?type=register&code=043tmemb1loe2A0h7lmb1HQemb1tmemF&state=123" "Mozilla/5.0 (Linux; Android 9; CLT-AL00 Build/HUAWEICLT-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045227 Mobile Safari/537.36 MMWEBID/1269 MicroMessenger/7.0.17.1720(0x27001135) Process/tools WeChat/arm64 NetType/WIFI Language/zh_CN ABI/arm64" "171.168.1.251:59808" - - 171.168.1.5:8070 0.021 0.020
2. 로그 시간 분할 스 크 립 트
어제 로 그 를 분할 하기 위해 스 크 립 트 를 만 듭 니 다.
#!/bin/bash
PATH_LOG=/var/log/nginx
YESTERDAY=$(date -d "yesterday" +%Y%m%d)
mv ${PATH_LOG}/access.log ${PATH_LOG}/access_${YESTERDAY}.log
#USR1
kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`
exit 0
정시 작업 설정, 매일 0 시 로그 분할 스 크 립 트 실행
# 0 0 /root/devtools/backup_log_nginx.sh
0 0 * * * /root/devtools/backup_log_nginx.sh
3. 효과
[root@MQ-SERVER nginx]# ls -l
1451624
-rw-r--r-- 1 nobody root 256285165 7 31 00:00 access_20200730.log
-rw-r--r-- 1 nobody root 429102371 8 1 00:00 access_20200731.log
-rw-r--r-- 1 nobody root 336208264 8 2 00:00 access_20200801.log
-rw-r--r-- 1 nobody root 351997028 8 3 00:00 access_20200802.log
-rw-r--r-- 1 nobody root 67568623 8 3 08:54 access.log
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.