linux系統定期刪除N天前的日誌

2021-08-20 17:49:29 字數 1448 閱讀 3230

**:

linux是乙個很能自動產生檔案的系統,日誌、郵件、備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時去執行吧。

find 對應目錄 -mtime +天數 -name 「檔名」 -exec rm -rf {} \;

例項命令:

find /opt/soft/log/ -mtime +30 -name 「*.log」 -exec rm -rf {} \;

說明:將/opt/soft/log/目錄下所有30天前帶」.log」的檔案刪除。具體引數說明如下:

find:linux的查詢命令,使用者查詢指定條件的檔案;

/opt/soft/log/:想要進行清理的任意目錄;

-mtime:標準語句寫法;

+30:查詢30天前的檔案,這裡用數字代表天數;

「.log」:希望查詢的資料型別,」.jpg」表示查詢擴充套件名為jpg的所有檔案,」*」表示查詢所有檔案,這個可以靈活運用,舉一反三;

-exec:固定寫法;

rm -rf:強制刪除檔案,包括目錄;

{} \; :固定寫法,一對大括號+空格++;

2.1建立shell:

touch /opt/soft/bin/auto-del-30-days-ago-log.sh

chmod +x auto-del-30-days-ago-log.sh

新建乙個可執行檔案auto-del-30-days-ago-log.sh,並分配可執行許可權

vi auto-del-30

-days

-ago

-log

.sh

#!/bin/sh

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

ok,儲存退出(:wq)。

2.3計畫任務:

#crontab -e
將auto-del-30-days-ago-log.sh執行指令碼加入到系統計畫任務,到點自動執行

輸入:

100*

** /opt/soft/log/auto-del-7

-days

-ago

-log

.sh >/dev/null

2>&

1

這裡的設定是每天凌晨0點10分執行auto-del-7-days-ago-log.sh檔案進行資料清理任務了。

完成以上三步,你就再也不每天惦記是否硬碟空間滿了,該清理日誌檔案了,再也不會受到伺服器硬碟空間不足的報警資訊了,放心的去看書喝咖啡去吧!

linux自動刪除n天前備份

linux計畫任務,自動刪除n天前的舊檔案 linux是乙個很能自動產生檔案的系統,日誌 郵件 備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,但需求總是多方面的嘛 我就覺得讓系統定時清理一些不需要的檔案很有一種爽快的感覺,嘿嘿 語句寫法 find 對應目錄 mtime 天數 nam...

Linux 自動刪除N天前的檔案

linux是乙個很能自動產生檔案的系統,日誌 郵件 備份等。所以自從刪除就顯的很方便。語句寫法 find 對應目錄 mtime 天數 name 檔名 exec rm rf 例1 find u01 backups mtime 10 name exec rm rf 將 u01 backups目錄下所有1...

Linux 自動刪除N天前的檔案

linux 是乙個很能自動產生檔案的系統,日誌 郵件 備份等。所以自從刪除就顯的很方便。語句寫法 find 對應目錄 mtime 天數 name 檔名 exec rm rf 例1 find u01 backups mtime 10 name exec rm rf 將 u01 backups 目錄下所...