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.計畫任務:
若嫌每次手動執行語句太麻煩,可以將這小語句寫到乙個可執行
shell指令碼
檔案中,再設定cron排程執行,那就可以讓系統自動去清理相關檔案。
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
,並分配可執行許可權
2.2編輯shell指令碼:
vi auto-del-30-days-ago-log.sh
編輯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 >/dev/null 2>&1
這裡的設定是每天凌晨0點10分執行auto-del-7-days-ago-log.sh檔案進行資料清理任務了。
完成以上三步,你就再也不每天惦記是否硬碟空間滿了,該清理日誌檔案了,
天天學Linux命令12 nl命令
nl命令在 linux 系統中用來計算檔案中行號 nl 可以將輸出的檔案內容自動的加上行號!其預設的結果與 cat n 有點不太一樣,nl 可以將行號做比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能。1 命令格式 nl 選項 檔案 2 命令引數 b 指定行號指定的方式,主要有兩種 b a ...
天天學Linux命令19 locate 命令
ocate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立乙個包括系統內所有檔名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的 distribution 之中,資料庫的建立都被放在 c rontab 中自動執行。1 命令格式 locat...
天天學Linux命令26 linux檔案屬性詳解
linux 檔案或目錄的屬性主要包括 檔案或目錄的節點 種類 許可權模式 鏈結數量 所歸屬的使用者和使用者組 最近訪問或修改的時間等內容 具體情況如下 命令 ls lih 輸出 root localhost test ls lih 總計 316k 2095120 lrwxrwxrwx 1 root ...