Nginx日志按天切割基本配置說明


1.聲明日志格式

    聲明log    log位置                log格式;

    access_log logs/access.log main; 

 

2.定義日志格式(以下為常用的日志格式 可各自按需調整格式):

  log_format main  '$remote_addr - $remote_user [$time_local] "$request" '

          '$status $body_bytes_sent "$http_referer" '

          ' "$http_user_agent" "$http_x_forwarded_for" ';

   

  Nginx日志的作用域可以為http server location 日志級別location>server>http

 

3.Nginx日志按天切割 ,

   在nginx內創建logs文件

   創建 mkdir logs

 

   切換 cd logs

   創建 mkdir data

   切換 cd data 

 

   在data中編寫Shell腳本splitLog.sh(記住為splitLog.sh添加可執行權限)

  # /bin/bash

  # 日志保存位置

  base_path='/opt/nginx/logs'

  # 獲取當前年信息和月信息

  log_path=$(date -d yesterday +"%Y%m")

  # 獲取昨天的日信息

  day=$(date -d yesterday +"%d")

  # 按年月創建文件夾

  mkdir -p $base_path/$log_path

  # 備份昨天的日志到當月的文件夾

  mv $base_path/access.log $base_path/$log_path/access_$day.log

  # 輸出備份日志文件名

  # echo $base_path/$log_path/access_$day.log

  # 通過Nginx信號量控制重讀日志

  kill -USR1 `cat /opt/nginx/logs/nginx.pid`

 

4.添加Linux定時任務

  crontab -e

 

  # 每天0時1分進行日志分割(建議在02-04點之間,系統負載小)

  01 00 * * * /opt/nginx/logs/splitLog.sh

 

  重啟Linux定時任務

  crond restart

 

  如果提示以下錯誤 crond: can't lock /var/run/crond.pid, otherpid may be 4141:資源暫時不可用

  刪除/var/run/crond.pid 重新執行命令即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM