centos7 nginx 日誌按日分割及清理

2021-10-05 04:06:15 字數 1358 閱讀 2904

centos7-nginx 日誌清理

1、首先建立指令碼檔案clear_log.sh

cd /usr/local/nginx/sbin
vi clear_log.sh
輸入如下內容

#!/bin/bash

#日期引數

date= `date -d "yesterday" +"%y%m%d"`

# 建立帶有日期的日誌資料夾

mkdir /usr/local/nginx/logs/log-$

# 先複製原來的錯誤日誌檔案,請根據自己實際的日誌路徑填寫

cp /usr/local/nginx/logs/error.log /usr/local/nginx/logs/log-$/error-$.log

# 清空錯誤日誌檔案

cat /dev/null > /usr/local/nginx/logs/error.log

# 先複製原來的訪問日誌

cp /usr/local/nginx/logs/access.log /usr/local/nginx/logs/log-$/access-$.log

# 清空原來的正常訪問日誌

cat /dev/null > /usr/local/nginx/logs/access.log

# 定期刪除七天前的日誌檔案

#find /usr/local/nginx/logs -mtime 7 -type f -name \*.log | xargs rm -f

# 定期刪除七天前的日誌資料夾

find /usr/local/nginx/logs -mtime 7 -type d -name "log-*" | xargs rm -rf

2、新增可執行許可權

sudo chmod +x clear_log.sh
3、新增linux計畫任務

crontab -e
4、輸入如下內容

#每天0點執行日誌清理指令碼

0 0 * * * /usr/local/nginx/sbin/clear_log.sh
儲存後退出,輸入以下命令檢視排程計畫

crontab -l
至此完成nginx日誌按天拆分與定期清除。

注意:若定時任務未執行,檢查crond任務是否正常:service crond status

重啟下定時任務:

方式一:service crond stop、service crond start

方式二:service crond restart

centos7 nginx 日誌清理

nginx 日誌檔案需要手動清理分割,因此寫個指令碼實現自動化 建立指令碼檔案clear log.shcd usr local nginx sbin vi clear log.sh bin bash 先複製原來的錯誤日誌檔案,請根據自己實際的日誌路徑填寫 cp usr local nginx log...

CentOS 7 Nginx 控制指令碼

傳送門 2 乾貨 相信看了準備活動,基本上就會了,這個比起下面那個方法實在是簡單多了直接上指令 sudo vi usr lib systemd system nginx.service 輸入下面內容,並儲存 unit description nginx high performance web se...

CentOS7 Nginx基本操作

我初學nginx伺服器配置,有些操作記不住,所以總結一下放一起。根據學習使用的情況,內容會不定期更新。yum安裝nginx的配置檔案目錄 etc nginx 編譯安裝的nginx的配置檔案目錄 usr local nginx conf 無論是如何安裝的nginx,配置檔案的修改方式都是一樣的,只需要...