linux定時刪除N天前的文件(文件夾)
近期在業(yè)務中,給定的磁盤只有22T容量,為了避免爆盤,業(yè)務需要定時清除數(shù)據,根據網上的資料總結了一下設置方法:可以使用find命令
find 路徑 -mtime +天數(shù) -type f -name "文件名" -exec rm -rf {} ;
find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;/tmp --設置查找的目錄;-mtime +30 --設置修改時間為30天前;-type f --設置查找的類型為文件;其中f為文件,d則為文件夾-name "*" --設置文件名稱,可以使用通配符;-exec rm -rf --查找完畢后執(zhí)行刪除操作;{} \; --固定寫法
另外的方法大同小異:
[hadoop@oyhadoop021 nokia_temp]$#find /tmp -mtime +30 -type f | xargs rm -rf可以吧這個命令寫到腳本里,
cleandata.sh
find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;配置可執(zhí)行
chmod u+x ./cleandata.sh配置到crontab
crontab -e0 0 * * * /home/username/cleandata.sh > /dev/null 2>&1每天零點自動執(zhí)行其中:第一個*號表示時間中的 分鐘 取值范圍:0-59第二個*號表示時間中的 小時 取值范圍:0-23第三個*號表示一個月中的第幾天,取值范圍:1-31第四個*號表示一年中的第幾個月,取值范圍:1-12第五個*號表示一個星期中的第幾天,以星期天開始依次的取值為0~7,0、7都表示星期天
評論
圖片
表情
