Linux下定時刪除指定目下n天前的文件

* 6 * * * find /root/home/zhang/* ctime 1 -exec rm -rf {} \;
表示天天早上六點刪除/root/home/zhang目錄下一天前建立的全部文件,不刪除文件夾zhang,若是這個文件夾也要刪除的話用 * 6 * * * find /root/home/zhang ctime 1 -exec rm -rf {} \;
* 6 * * * 第一個*號表示時間中的 分鐘  取值範圍:0-59
          第二個*號表示時間中的 小時  取值範圍:0-23
          第三個*號表示一個月中的第幾天,取值範圍:1-31
          第四個*號表示一年中的第幾個月,取值範圍:1-12
          第五個*號表示一個星期中的第幾天,以星期天開始依次的取值爲0~7,0、7都表示星期天
ctime 表示建立時間,1 表示一天前,其實Linux中不存在文件建立時間,只有訪問時間(atime)、修改時間(mtime)、狀態改動時間(ctime) 
能夠經過命令 stat + 文件路徑  查看時間
也可經過命令 touch -t 201212212359 aa (創建文件aa,時間是2012年12月21日23時59分)修改時間
如果刪除目錄下的指定文件能夠用:
find 對應目錄 -mtime +天數 -name "文件名" -exec rm -rf {} \;
find /var/www/ -type f -mtime +30 -exec rm -f '{} \;'刪除30天之前的過時文件。
命令說明:
/var/www/是查找文件的路徑。
-type f是指定文件類型爲普通文件。
-mtime +30是指修改時間距離如今30天的文件。
-exec rm -f指執行刪除匹配出來的文件而且不提示,有的系統須要帶單引號,有的不須要。
將以上命令,添加到crontab中,便可實現按期刪除了。-cmin -600         # 是600分鐘內建立的文件-size +10M         # 是大於10M的文件
相關文章
相關標籤/搜索