Linux查詢大檔案並自動刪除 日誌管理

2021-10-20 13:36:23 字數 1440 閱讀 3722

服務上線有段時間了,今天收到磁碟報警通知,想應該是日誌報警,於是想通過自動化刪除7天前的日誌資訊,具體操作步驟如下(前兩步排查檔案大小):

1、登入伺服器檢視磁碟占用情況

是/mvsp的目錄占用空間太多

2、再通過du命令檢視是哪個目錄占用日誌大

3、現在確定是日誌檔案了,下面做自動刪除

3.1 建立乙個 clearlog.sh 檔案,內容如下

#!/bin/bash 

find /mvsp/logs/logs -name "*.log_*" -mtime +7 -ls >> /mvsp/delete_$(date +%y-%m-%d).log | xargs

find /mvsp/logs/logs -mtime +7 -name "*.log_*" -exec rm -rf {} \;

第一行說明:用於記錄刪除的檔名

「 find 」查詢

「 /mvsp/logs/logs 」指定目錄

「 -mtime +7 」7天前的(天數可自定義)

「 -name "*.log_*" 」所有檔名中包含  .log_ 的檔案

「 | xargs -i mv {} 」固定寫法

「 /mvsp/delete_」檔名

完整意思:查詢/mvsp/logs/logs 目錄下 7天前的所有檔名中包含  .log_ 的檔案,然後檔名儲存到  /mvsp/delete_*.log檔案中 。

第二行說明:

find 」查詢

「/mvsp/logs/logs 」指定的目錄

「 -mtime +7 」7天前的(天數可自定義)

「 -name "*.log_*" 」所有檔名中包含  .log_ 的檔案

「 -exec rm -rf {} \ 」固定寫法

完整意思:查詢/mvsp/logs/logs 目錄下 7天前的所有檔名中包含  .log_ 的檔案,然後將它們全部刪除。

3.2 給  clearlog.sh 新增執行許可權

chmod 777 clearlog.sh
3.3 設定定時任務:新增定時執行 clearlog.sh 指令碼的任務

crontab -e
新增定時任務(每天凌晨1點執行)

0 1 * * * /mvsp/clearlog.sh
注意:為避免引起不必要的風險,建議先在測試環境使

Linux磁碟空間100 查詢並刪除大檔案

先確定是哪個資料夾占用較多 如果檔案較多命令執行可能很慢,在知道大概位置的情況下不建議直接對根目錄操作 du的 max depth 1表示只展示第乙個層級的目錄和檔案 sort的 h選項和du的 h選項乙個意思,r表示倒敘,預設公升序 du h max depth 1 sort hr head n ...

linux查詢並刪除檔案

linux有著強大命令列處理,如果用的好,效率會非常的高,如果用的不好,那很可能造成致命的錯誤。就拿刪除 svn 檔案為例吧 如果你在修改別人寫的原始碼,裡面已經有了 svn 檔案,那麼你想把這些檔案上傳到你自己的版本庫裡面,如果乙個乙個刪除 svn 檔案就太挫了。linux下只需要一句命令即可 f...

Linux查詢大檔案

有時候我們在系統上安裝了數十個應用 最簡單的方法就是借助 ls 命令,因為 ls 命令本身輸出是帶檔案大小資訊的。比如,我要列出 bin 目錄中的 5 個最大檔案,可以 ls lsh bin head 5 find 本身就是查詢命令,可以遞迴查詢乙個目錄的子目錄,所以用它是自然的。比如,查詢 目錄下...