linux是乙個很能自動產生檔案的系統,日誌、郵件、備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時去執行吧。
1.刪除檔案命令:
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.計畫任務:
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執行指令碼加入到系統計畫任務,到點自動執行
輸入:10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh
這裡的設定是每天凌晨0點10分執行auto-del-7-days-ago-log.s**件進行資料清理任務了。
完成以上三步,你就再也不每天惦記是否硬碟空間滿了,該清理日誌檔案了,再也不會受到伺服器硬碟空間不足的報警資訊了,放心的去看書喝咖啡去吧!
學習時的痛苦是暫時的 未學到的痛苦是終生的
定時刪除日誌檔案 linux定時清理日誌
linux是乙個很能自動產生檔案的系統,日誌 郵件 備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時去執行吧。1.刪除...
Linux定時刪除日誌檔案
刪除建立時間大於30天的檔案命令 find 目錄 mtime 建立時間 name 檔名 exec rm rf 建立shell檔案 auto del 30 days ago log.sh 指令碼內容 bin sh find opt soft log mtime 30 name log exec rm ...
linux日誌定時刪除
伺服器儲存占用過大可從兩個方面進行排查原因 一,系統生成日誌占用過大 二,廢棄的服務沒有被kill也有所影響 下面是刪除日誌的步驟整理 1,查詢超大檔案 可使用命令查詢 find type f size 800m print0 xargs 0 du hm sort nr 通過該命令可以找到大檔案 也...