linux中刪除指定日期之前的檔案

來源:互聯網
上載者:User


要刪除系統中就的備份檔案,就需要使用命令了:    #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;  假如在一個目錄中保留最近30天的檔案,30天前的檔案自動刪除  #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;  /tmp  --設定尋找的目錄;  -mtime +30 --設定時間為30天前;  -type f --設定尋找的類型為檔案;  -name *.sh[ab] --設定檔案名稱中包含sha或者shb;  -exec rm -f --尋找完畢後執行刪除操作;  提示:將此命令寫入crontab後即可自動完成尋找並刪除的工作  另外的方法大同小異  #find . -mtime +30 -type f | xargs rm -rf  www.2cto.com  我的操作是:先ls -ltr 查看時間,沒有太久的所以就用 -cmin n尋找系統中最後N分鐘被改變檔案狀態的檔案。具體命令:$ find /home/oracle/test6 -cmin +20 -type f -name *.xml -exec rm -f { } \;  另外的方法大同小異#find . -mtime +30 -type f | xargs rm -rf $find . -type f -cmin +10 -exec rm -rf *.xml {} \; find . type f -name "debug*"  -atime +3 -exec rm -f {} \; 首先cd進入目錄:  find . -name "*~" -exec rm  {} \; find . -ctime +n -exec  -exec rm -vi {} \; 這裡的+n是指多少天以前,比如:+7 find . -ctime +7 -exec  -exec rm -vi {} \; 如果不想手動確認,把命令中的-vi改成-fv 請詳查find命令. 使用find時要區分清楚atime,ctime,mtime的區別,一般都使用mtime來尋找,因為在ls -al顯示出來的就是mtime時間戳記,可以使用:  # find  $PAHT -mtime +3  -ok rm {} \;  在互動模式下刪除比較保險。 一、按照一定日期格式命名檔案 1、按照一定的格式輸出日期:    www.2cto.com      date +"%y%m%d"     格式說明:    % : 印出 %%n : 下一行%t : 跳格%H : 小時(00-23)%I : 小時(01-12)%k : 小時(0-23)%l : 小時(1-12)%M : 分鐘(00-59)%p : 顯示本地 AM 或 PM%r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數%S : 秒(00-60)%T : 直接顯示時間 (24 小時制)%X : 相當於 %H:%M:%S%Z : 顯示時區
 日期方面 :%a : 星期幾 (Sun-Sat)%A : 星期幾 (Sunday-Saturday)%b : 月份 (Jan-Dec)%B : 月份 (January-December)%c : 直接顯示日期與時間%d : 日 (01-31)%D : 直接顯示日期 (mm/dd/yy)%h : 同 %b%j : 一年中的第幾天 (001-366)%m : 月份 (01-12)%U : 一年中的第幾周 (00-53) (以 Sunday 為一周的第一天的情形)%w : 一周中的第幾天 (0-6)%W : 一年中的第幾周 (00-53) (以 Monday 為一周的第一天的情形)%x : 直接顯示日期 (mm/dd/yy)%y : 年份的最後兩位元字 (00.99)%Y : 完整年份 (0000-9999) 2、命名帶有日期的檔案:filename`date +%y%m%d`,此處的"`"不是單引號。 二、以建立檔案日期為界線刪除檔案  www.2cto.com  1、find命令簡解        find pathname -options [-print -exec -ok ...]     pathname: find命令所尋找的目錄路徑。例如用.來表示目前的目錄,用/來表示系統根目錄。    -print: find命令將匹配的檔案輸出到標準輸出。    -exec: find命令對匹配的檔案執行該參數所給出的shell命令。相應命令的形式為'command' {  } \;,注意{   }和\;之間的空格。    -ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓使用者來確定是否執行。   options:  -name 按照檔案名稱尋找檔案。 -perm按照檔案許可權來尋找檔案。 -prune使用這一選項可以使find命令不在當前指定的目錄中尋找,如果同時使用-depth選項,那麼-prune將被find命令忽略。 -user按照檔案屬主來尋找檔案。 -group按照檔案所屬的組來尋找檔案。 -mtime -n +n按照檔案的更改時間來尋找檔案, - n表示檔案更改時間距現在n天以內,+ n表示檔案更改時間距現在n天以前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。 -nogroup尋找無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在。 -nouser尋找無有效屬主的檔案,即該檔案的屬主在/etc/passwd中不存在。-newer file1 ! file2  www.2cto.com  尋找更改時間比檔案file1新但比檔案file2舊的檔案。-type 尋找某一類型的檔案,諸如: b - 塊裝置檔案。d - 目錄。c - 字元裝置檔案。p - 管道檔案。l - 符號連結檔案。f - 普通檔案。 -size n:[c] 尋找檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。-depth:在尋找檔案時,首先尋找目前的目錄中的檔案,然後再在其子目錄中尋找。-fstype:尋找位於某一類型檔案系統中的檔案,這些檔案系統類型通常可以在設定檔/etc/fstab中找到,該設定檔中包含了本系統中有關檔案系統的資訊。 -mount:在尋找檔案時不跨越檔案系統mount點。-follow:如果find命令遇到符號連結檔案,就跟蹤至連結所指向的檔案。-cpio:對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。 對於時間相關的參數,有以下補充: -amin n  尋找系統中最後N分鐘訪問的檔案   -atime n  尋找系統中最後n*24小時訪問的檔案  www.2cto.com    -cmin n  尋找系統中最後N分鐘被改變檔案狀態的檔案   -ctime n  尋找系統中最後n*24小時被改變檔案狀態的檔案     -mmin n  尋找系統中最後N分鐘被改變檔案資料的檔案   -mtime n  尋找系統中最後n*24小時被改變檔案資料的檔案 2、刪除固定日期以前的檔案   find logs -type f -mtime +5 -exec rm {  } \;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.