linux伺服器日誌切割

2021-09-11 07:45:51 字數 1143 閱讀 4269

現在網上比較成熟的有logrotatecronolog兩種工具,也有很多實現,我們這裡不使用這兩種,所以不多贅述,只講講使用最基本的linux切割日誌的方法。

因為每天產生的日誌都會輸出到catalina.out這個檔案中,我們可以在每天晚上凌晨的時候把catalina.out這個檔案複製乙份,檔名寫為:catalina-2019-02-25.log,然後把catalina.out清空,寫個定時任務每天執行這個操作,這樣就實現了日誌切割的效果。

建立新指令碼:

在指令碼目錄下 輸入 vi autocutlogs.sh 沒有該檔案的話就會新建檔案

輸入:

#複製日誌檔案內容到新的檔案中

cp /home/tomcat/logs/catalina.out /home/tomcat/logs/catalina.out_`date -d '-1 days' +%y%m%d`

.log

#清空tomcat預設日誌輸出檔案catalina.out

echo ""

>

/home/tomcat/logs/catalina.out

#刪除過期的日誌檔案

find /home/tomcat/logs/

-mtime +

60-name "*"

-exec rm -rf \;

注:60: 60天以前的檔案, name 「*」 所有檔案,可以看情況修改, 「.log」 字尾為 log 的檔案

給指令碼賦予執行許可權 (在指令碼資料夾下)

chmod +x autocutlogs.sh
在任意目錄下輸入 crontab -e 建立新定時任務:

00*

**/home/tomcat/sh/autocutlogs.sh >

/dev/

null

2>

&1

儲存退出。 就可以了。

注: 0 0 指的凌晨,30 11 指的是 11點30分

這樣就實現了日誌的切割。大家可以過幾天再看看效果。

Linux伺服器nginx日誌切割

由於nginx的日誌本身只是支援按照server name或者大小進行劃分,對於習慣了apache的按照乙個 每天乙個日誌的我來說是不可以接受的,所以就實現了按天切割的功能,這篇文章主要介紹了關於nginx日誌按日期切割的相關資料,需要的朋友可以參考下。本文實現的功能是在嗎每天凌晨00 00把前一天...

linux伺服器自動切割並清理日誌

由於nginx的日誌會不停地增大,所以需要我們自己去切割日誌,方便管理,需要達到以下的效果 1.按日期自動切割日誌,最小單位是天。2.當日誌總量超過一定量時,自動直接清理日誌,限定總量不能超過1gb。3.寫入crontab定時任務裡。分析 1.nginx日誌目錄下分別有access.log和erro...

NginxWeb伺服器定時切割日誌shell指令碼

nginx 定時切割日誌 定時切割方式有按月切割 按天切割 按小時切割等。最常用的是按天切割。nginx 不支援像apache一樣使用cronolog來輪轉日誌,但是可以採用以下方式來實現日誌檔案的切割 mv data1 logs acccess.log data1 logs 20130423.lo...