檢視當前nginx日誌
[root@gujipeng ~]
# cd /opt/nginx-1.18/logs
[root@gujipeng logs]
# ll
total 17604
-rw-r--r-- 1 root root 18006688 sep 12 11:43 access.log
-rw-r--r-- 1 root root 10611 sep 12 11:35 error.log
-rw-r--r-- 1 root root 5 sep 12 11:19 nginx.pid
給當前日誌檔案重新命名
[root@gujipeng logs]
# mv access.log "access.log$(date +"%y-%m-%d")"
[root@gujipeng logs]
# ll
total 17604
-rw-r--r-- 1 root root 18006688 sep 12 11:43 access.log2020-09-12
-rw-r--r-- 1 root root 10611 sep 12 11:35 error.log
-rw-r--r-- 1 root root 5 sep 12 11:19 nginx.pid
傳送usr1訊號給nginx-master,重新開啟日誌記錄,生成新的日誌檔案
[root@gujipeng logs]
# nginx -s reopen
[root@gujipeng logs]
# ll
total 17604
-rw-r--r-- 1 nobody root 0 sep 12 17:37 access.log
-rw-r--r-- 1 root root 18006688 sep 12 11:43 access.log2020-09-12
-rw-r--r-- 1 nobody root 10674 sep 12 17:37 error.log
-rw-r--r-- 1 root root 5 sep 12 11:19 nginx.pid
在生產環境下,日誌切割主要是以定時任務的形式來操作
編寫乙個定時日誌切割的指令碼
[root@gujipeng logs]
# vim cut_nginx_log.sh
#!/bin/bash
logs_path=
"/opt/nginx-1.18/logs/"
mkdir -p $
$(date -d "yesterday" +"%y"
)/$(
date -d "yesterday" +"%m")mv
$access.log $
$(date -d "yesterday" +"%y"
)/$(
date -d "yesterday" +"%m"
)/access_$(
date -d "yesterday" +"%y-%m-%d"
).log
nginx -s reopen
把該指令碼的執行,加入到crontab 每天的0點執行
[root@gujipeng logs]
# crontab -e
crontab: installing new crontab
[root@gujipeng logs]
# crontab -l
0 0 * * * /bin/bash /opt
Nginx定時日誌切割
進入到nginx的可執行sbin目錄裡,usr local nginx sbin 下 建立乙個shell可執行檔案 cut my log.sh 內容為 bin bash log path var log nginx record time date d yesterday y m d h m pid...
nginx 日誌切割定時
1.安裝定時任務 yum install crontabs 1 usr local nginx sbin cut my log.sh 3.重啟定時任務 service crond restart 附 常用定時任務命令 service crond start 啟動服務 service crond st...
linux配置nginx定時日誌分割
指令碼內容 bin sh program auto cut nginx log script.nginx日誌路徑 today date d today y m d 移動日誌並改名 mv error.log error log mv access.log access log 向nginx主程序傳送重...