Nginx指令碼方式切割日誌

2021-09-20 15:42:30 字數 902 閱讀 7764

#!/bin/bash

#nginx的log日誌目錄

#nginx的pid檔案存放目錄

pid_path="$nginx.pid"

#清理掉指定日期前的日誌

days=60

#生成昨天的日誌檔案

#若指定10天前  date -d"10 day ago 2017-06-08" +%y-%m-%d

mv $access.log $access_$(date -d "yesterday" +"%y%m%d").log

mv $error.log $error_$(date -d "yesterday" +"%y%m%d").log

kill -usr1 `cat $`

#資料夾大小轉換成m

#檔案大小預設是位元組

size=`du -b $ | awk ''`

#刪除60天前的檔案

if [ "$size" -gt "1000" ];then

#find  對應目錄  -mtime +天數   -type f -name "檔名" -exec rm -rf {} \;

find $ -mtime +$days -type f -name "*.log" -exec rm -rf {} \;

fi#下面是任務計畫

[root@centos7 ~]# cat /var/spool/cron/root 

shell=/bin/bash

path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

export path

0  0 * * * /bin/sh /opt/log_backup.sh

#賦予許可權

chmod +x /opt/log_backup.sh

nginx日誌切割指令碼

nginx的日誌檔案沒有rotate功能。如果你不處理,日誌檔案將變得越來越大,還好我們可以寫乙個nginx日誌切割指令碼來自動切割日誌檔案。第一步就是重新命名日誌檔案,不用擔心重新命名後nginx找不到日誌檔案而丟失日誌。在你未重新開啟原名字的日誌檔案前,nginx還是會向你重新命名的檔案寫日誌,...

python切割nginx日誌指令碼

usr bin env python coding utf 8 python nginx cut log 1 import subprocess def mkdir subprocess.call mkdir pv usr local nginx logs date d yesterday y da...

編寫定時切割Nginx日誌指令碼

1 建立指令碼 usr local nginx sbin cut nginx log.sh vi usr local nginx sbin cut nginx log.sh 輸入以下內容 引用 bin bash this script run at 00 00 the nginx logs path...