假如在一個目錄中保留最近30天的文件,30天前的文件自動刪除;
#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} ;/tmp _設置查找的目錄;
1、mtime +30 _設置時間為30天前;
2、type f _設置查找的類型為文件;
3、name *.sh[ab] _設置文件名稱中包含sha或者shb;
4、exec rm -f _查找完畢後執行刪除操作;
提示:將此命令寫入crontab後即可自動完成查找並刪除的工作。
另外的方法大同小異:#find /tmp -mtime +30 -type f | xargs rm -rf。
『貳』 linux如何刪除某個時間之前的過期文件,在一個文件夾內部的
find 命令可以完成這一需求,比如刪除3天前的所有以「.log」結尾的文件回:
find /文件路徑 -name "*.log" -mtime +2 -exec rm {} ;
說明:
1. 文件路徑是答目標文件所在路徑;
2. -name 設定目標文件名,建議採用,否則可能誤刪其他文件;
3. -ctime 文件最後一次修改時間,後面只能用整數,單位為天,同時,還有atime,mtime,amin,cmin,mmin等時間參數可選,具體請查看幫助;
4. 時間說明如下圖(隨手畫的,大概是這個意思),所以刪除三天前的文件要用+2
5. -exec 表示需要執行的命令,{}代表find找到的內容,";"是固定寫法表示結束-exec,
所以例子的"-exec rm {} ;" 就表示對find找到的符合條件的文件執行刪除操作
『叄』 Linux下,如何將最後修改時間在某個時間之前的文件刪除掉
noneki網友復回答得不錯!制
第一步touch是要建立一個最後修改時間為「 1月1號,0分0秒的」的比對文件time_file,
第二步, 用find查找,比time_file 「不」新的所有文件,然後刪除。
提示:如果是要根據修改時間,則把newer改成cnewer,如果是根據訪問時間,則把newer改為anewer