Nginx日志切割(按天切割)


先確定nginx日志路徑和pid路徑

   我的日志路徑在  /var/log/nginx/(access,error).log

   我的pid路徑在  /run/nginx.pid

  創建日志切割后的存放路徑  

mkdir -p /var/log/nginx/logs

編寫腳本文件,存放在任何路徑都可,

vi runlog.sh

#!/bin/bash

# 設置日志文件存放目錄
logs_path="/var/log/nginx/"
backup_path="/var/log/nginx/logs/"
# 設置pid文件
pid_path="/run/nginx.pid"

# 重命名日志文件
mv ${logs_path}/access.log ${backup_path}/access_$(date -d "yesterday" +"%Y%m%d").log
mv ${logs_path}/error.log ${backup_path}/error_$(date -d "yesterday" +"%Y%m%d").log

# 向nginx主進程發信號重新打開日志
kill -USR1 `cat ${pid_path}`

# 壓縮
gzip ${backup_path}/access_$(date -d "yesterday" +"%Y%m%d").log
gzip ${backup_path}/error_$(date -d "yesterday" +"%Y%m%d").log

# 刪除超過指定時間的日志文件,單位:天
find  $backup_path -name "*.gz" -type f -mtime +30 -exec rm -rf {} \;

編寫定時任務

crontab -e
0 0 * * * sh /var/log/nginx/runlog.sh

 


免責聲明!

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



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