nginx切割nginx.conf日誌

進入nginx logs目錄nginx

方式一:
  1. 複製日誌文件
mv access.log  bak.log #複製access.log
  1. 產生新的日誌文件
../sbin/nginx -s reopen #執行後會建立一個新的access.log

方式二使用定時任務切割日誌
  1. 在logs目錄下建立 ratate.sh文件 寫入如下內容
vim ratate.sh#建立腳本文件,寫入腳本
# 目標日誌目錄
CUR_LOGS_PATH=/usr/local/nginx/logs
# 歷史日誌目錄(本身建立的目錄)
LOGS_PATH=/usr/local/nginx/logs/history
#獲取時間
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
mv ${CUR_LOGS_PATH}/access.log  ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${CUR_LOGS_PATH}/error.log  ${LOGS_PATH}/error_${YESTERDAY}.log
##向Nginx主進程發送USR1信號。USR1信號是從新打開日誌文件
kill -USR1 $(cat  /usr/local/nginx/logs/nginx.pid)
  1. 給ratate.sh添加執行權限
#給文件設置可執行權限
chmod 751 ratate.sh
  1. 檢測腳本是否正常
./ratate.sh#檢測腳本是否正常

  1. 配置定時任務:

修改系統用戶配置文件shell

root用戶在/var/spool/cron/root 目錄下vim

普通用戶在:/var/spool/cron/用戶名 目錄下日誌

vim /var/spool/cron/root #配置定時任務
#寫入: 15 2 * * * /usr/local/nginx/logs/ratate.sh
# nginx日誌切割定時任務

  1. 查看定時任務:
crontab -l#查看定時任務

相關文章
相關標籤/搜索