學習nginx定時日誌切割

2021-10-09 09:42:05 字數 1874 閱讀 7523

檢視當前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主程序傳送重...