Centos6

centos中使用find查找子目錄下的文件

  • October 8, 2016

我目前的 cronjob 是

* 10 * * * /bin/find /var/spool/record/ -type f -exec /bin/rm {} +

它每天上午 10 點刪除所有文件。

我正在嘗試刪除目前目錄下小於 90KB 類型的特定文件。為了那個原因

* 10 * * * /bin/find /var/spool/record/ -type f -iname "*.gsm" -size -90K -exec /bin/rm {} +

我擔心的是,上述語法也會從子目錄中刪除 GSM 文件,這些文件將在 /var/spool/record/ 每天創建並保留該特定日期的記錄。像 /var/spool/record/date1, /var/spool/record/date2 。

我還想在每個月的 10 日上午 10 點刪除 /var/spool/record/ 及其子目錄下超過 60 天的 GSM 文件

* 10 10 * * /bin/find /var/spool/record/ -type f -iname "*.gsm" -mtime +60 -exec /bin/rm {} +

超過 60 天的 del 子目錄和文件的正確語法是什麼。

您編寫的 cron 將在 10:00 到 10:59 之間每分鐘執行一次。使用以下方法解決此問題:

00 10 10 * * /bin/find /var/spool/record/ -type f -name “*.gsm” -mtime +60 -exec /bin/rm {} ;

這將從 /var/spool/record 及其子目錄中刪除 .gsm 文件,這些文件在每月上午 10 點和每月 10 日超過 60 天。

引用自:https://serverfault.com/questions/807819