手工截取nginx日志与配置自动切割nginx日志的shell脚本【测试成功】

艺帆风顺 发布于 2025-04-03 30 次阅读


一、问题背景

    nginx在安装时没有配置在自动切割,文件很大,需要查找指定日期的log文件。

二、手工截取

    截取2023-10-18日的日志:

sed -n '/18/Oct/2023/,/19/Oct/2023/p' access.log >20231018.log

或者:

cat access.log_ |egrep "12/Dec/2019" |sed -n '/14:40:00/,/15:36:00/p' >201912.log

二、手工切割每天的日志脚本【加入crontab任务】

    set -e sleep 1 yesterday=$(date -d 'yesterday' +%Y-%m-%d) ng_logs_dir='/home/Yinling/nginx/logs' if [ -d $ng_logs_dir ];then  cd $ng_logs_dir  mv access.log access_${yesterday}.log  kill -USR1 $(cat /home/Yinling/nginx/logs/nginx.pid)  sleep 1 tar -czf access_${yesterday}.log.tar.gz access_${yesterday}.log  rm -f access_${yesterday}.log else  echo "nginx日志目录不存在" exit 0fi

      [root@VM-0-8-centos logs]# ls -alhtotal 363Mdrwxr-xr-x 2 root root 4.0K Sep 25 08:55 .drwxr-xr-x 11 root root 4.0K Oct 9 2020 ..-rw-r--r-- 1 root root 362M Oct 20 10:43 access.log-rw-r--r-- 1 root root 449K Oct 18 13:34 error.log-rw-r--r-- 1 root root 6 Sep 25 08:55 nginx.pid[root@VM-0-8-centos logs]# tail -f access.log 1.80.216.250 - - [20/Oct/2023:10:43:40 +0800] "GET /yinling/admin/enum/query?parentId=1002 HTTP/1.1" 200 207 "http://localhost:8090/orgmag/organization" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"1.80.216.250 - - [20/Oct/2023:10:43:41 +0800] "GET /yinling/admin/sysOrg/queryTree HTTP/1.1" 200 4299 "http://localhost:8090/orgmag/organization" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"1.80.216.250 - - [20/Oct/2023:10:43:41 +0800] "GET /yinling/admin/enum/query?parentId=1004 HTTP/1.1" 200 207 "http://localhost:8090/orgmag/organization" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"1.80.216.250 - - [20/Oct/2023:10:43:41 +0800] "POST /yinling/admin/partyMember/query HTTP/1.1" 200 6615 "http://localhost:8090/orgmag/organization" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"1.80.216.250 - - [20/Oct/2023:10:43:54 +0800] "POST /yinling/admin/trainEdu/startWatch/3dc5668ad2854a9b919a99409cbaf749 HTTP/1.1" 200 289 "http://localhost:8081/" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"1.80.216.250 - - [20/Oct/2023:10:43:54 +0800] "GET /yinling/admin/trainEdu/findById/3dc5668ad2854a9b919a99409cbaf749 HTTP/1.1" 200 755 "http://localhost:8081/" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"1.80.216.250 - - [20/Oct/2023:10:45:34 +0800] "GET /yinling/admin/trainEdu/findById/3dc5668ad2854a9b919a99409cbaf749 HTTP/1.1" 200 755 "http://localhost:8081/" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"1.80.216.250 - - [20/Oct/2023:10:45:34 +0800] "POST /yinling/admin/trainEdu/startWatch/3dc5668ad2854a9b919a99409cbaf749 HTTP/1.1" 200 289 "http://localhost:8081/" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"1.80.216.250 - - [20/Oct/2023:10:45:58 +0800] "GET /yinling/admin/trainEdu/findById/3dc5668ad2854a9b919a99409cbaf749 HTTP/1.1" 200 755 "http://localhost:8081/" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"1.80.216.250 - - [20/Oct/2023:10:45:58 +0800] "POST /yinling/admin/trainEdu/startWatch/3dc5668ad2854a9b919a99409cbaf749 HTTP/1.1" 200 287 "http://localhost:8081/" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"