定義cut_nginx_log.sh日誌檔案指令碼如下
#!/bin/bash
#logs_path為日誌存放路徑
logs_path=/weblog/nginx/logs
yesterday=$(date -d "yesterday" +%y-%m-%d)
keeptime=$(date -d "-30 days" +%y-%m-%d)
#切分日誌檔案
mv $/access.log $/access_$.log
mv $/error.log $/error_$.log
#通過nginx訊號量控制重讀日誌,/web/nginx/為nginx安裝目錄
kill -usr1 $(cat /web/nginx/logs/nginx.pid)
#刪除30天前的日誌檔案
rm -f $/access_.log
rm -f $/error_.log
echo 0
如果sh指令碼是從其他地方複製過來要轉成unix格式:
yum install dos2unix -y
dos2unix 指令碼.sh
新增系統定時任務
crontab -e#每天0時1分進行日誌分割
01 00 * * * /web/nginx/logs/cut_nginx_log.sh
#重啟linux定時任務
crond restart
Nginx 日誌檔案切分
bin bash 切分nginx日誌 目錄base dir usr local nginx 檔名base file name access.log 原日誌目錄 home path base dir logs 備份日誌目錄 bak path base dir datalogs 原檔案 home fil...
Nginx 日誌檔案切分
bin bash 切分nginx日誌 目錄base dir usr local nginx 檔名base file name access.log 原日誌目錄 home path base dir logs 備份日誌目錄 bak path base dir datalogs 原檔案 home fil...
Nginx日誌切分(簡單案例)
停機備份操作。只複製了access.log。沒有複製error.log。base dir usr local nginx base file name uzong.access.log current path base dir logs bak path base dir datalogs cur...