Linux下日誌檔案過大解決方案

2022-06-27 11:42:10 字數 1175 閱讀 7485

轉至:

linux後台執行命令:&與nohup的用法

通過以上方法,應用程式的日誌會一直輸出到日誌檔案myout.txt裡,這個檔案也會不斷的增大,一直蠶食伺服器硬碟。

但是,我們都知道,日誌對於我們而言是非常重要的,一量應用程式出現bug,或者伺服器宕機,我們必須通過日誌檔案來進行debug或進一步分析。所以,日誌檔案不能簡單的一刪了之。

這時,我們想到,如果能將日誌檔案切分該多好,這樣我們可以留下重要的日誌,而刪掉不必要的日誌。下面良許就來詳細介紹這種方法。

我們可以每天都進行切分日誌的操作,那要這樣的話,為了避免混淆,我們切分出來的日誌都應該帶上日期。當然日期我們可以通過以下語句獲取:

current_date=`date -d "

-1 day""

+%y%m%d

"`

date -d "-1 day"表示獲取前一天的日期,就是說我們今天操作的話是切割昨天的日誌。+%y%m%d是具體的日期格式,也就是年月日格式,比如:20181005。

接下來,我們再切割日誌。

split  -b 65535000 -d -a 4  myout.txt  ./log/log_$_

其中,65535000是60m,也就是日誌檔案按60m大小進行切割,可自定義大小。-d -a 4表示檔案字尾是4位。我們將檔案切割後要按次序進行編號,比如0000,0001,0002……這個4就代表編號的位數。

再之後的./log/log$就是切割後日誌檔案的字首,裡面就帶入了當前日期。所以,最終的輸出格式類似於:log_20181005_0001。

日誌檔案切割完之後,就可以將日誌檔案刪除了,否則就失去切割檔案的意義了。刪除的方法可以用以下方式:

cat /dev/null > nohup.out

將以上這些命令寫在乙個指令碼裡,每天執行它,就可以將日誌檔案切割成若干分,便於我們排查。完整的**如下:

#!/bin/bash

current_date=`date -d "

-1 day""

+%y%m%d"`

split -b 65535000 -d -a 4 /home/alvin/myout.txt /home/alvin/log/log_$_

cat /dev/null > nohup.out

Linux下日誌檔案過大解決方案

很多linux伺服器裡的應用程式都是無間斷的輸出日誌,這對於伺服器的硬碟是乙個很大的考驗。良許之前也分享過一篇文章,介紹如何讓應用程式在後台執行 linux後台執行命令 與nohup的用法 通過以上方法,應用程式的日誌會一直輸出到日誌檔案myout.txt裡,這個檔案也會不斷的增大,一直蠶食伺服器硬...

sql ldf檔案過大 解決方案

還原資料庫bak檔案有時候會要求很高的磁碟空間,這是因為你的備份檔案bak含有很大的ldf檔案 所以還原資料庫以後,被還原的資料庫也會附加著非常大的ldf檔案,解決方法如下 1 分離資料庫後 到目錄下刪除.ldf檔案後 到sql server中附加資料庫 會提示找不到ldf檔案,不用管,直接刪除就可...

Linux下日誌檔案過大的解決方案

很多linux伺服器裡的應用程式都是無間斷的輸出日誌,這對於伺服器的硬碟是乙個很大的考驗 我們都知道,日誌對於我們而言是非常重要的,一量應用程式出現bug,或者伺服器宕機,我們必須通過日誌檔案來進行debug或進一步分析。所以,日誌檔案不能簡單的一刪了之。這時,我們想到,如果能將日誌檔案切分該多好,...