linux如何定時刪除N天前的文件(文件夾)
更新時間:2023年12月12日 15:35:37 作者:wd520521
這篇文章主要介紹了linux如何定時刪除N天前的文件(文件夾)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
在業(yè)務(wù)中,給定的磁盤容量小,為了避免爆盤,需要定時清除數(shù)據(jù),所以總結(jié)了一下設(shè)置方法:
可以使用find命令
find 路徑 -mtime +天數(shù) -type d -name "文件名" -exec rm -rf {} ;
find 路徑 -mtime +15-type d -name "*" -exec rm -rf {} ;find /tmp -mtime +15 -type d -name "*" -exec rm -rf {} \;
/tmp --設(shè)置查找的目錄;
-mtime +15 --設(shè)置修改時間為15天前;
-type d --設(shè)置查找的類型為文件;其中f為文件,d則為文件夾
-name "*" --設(shè)置文件名稱,可以使用通配符;
-exec rm -rf --查找完畢后執(zhí)行刪除操作;
{} \; --固定寫法還可以把此命令寫入腳本中
1、創(chuàng)建腳本cleandata.sh
vim cleandata.sh
2、寫入命令
find /tmp -mtime +15 -type d -name "*" -exec rm -rf {} \;3、保存文件
按Esc鍵 :wq #保存
4、配置可執(zhí)行
chmod u+x ./cleandata.sh
5、配置到crontab
crontab -e
#每天九點十五自動執(zhí)行 15 9 * * * /home/test/cleandata.sh > /dev/null 2>&1
*號解釋:
- 第一個*號表示時間中的 分鐘 取值范圍:0-59
- 第二個*號表示時間中的 小時 取值范圍:0-23
- 第三個*號表示一個月中的第幾天,取值范圍:1-31
- 第四個*號表示一年中的第幾個月,取值范圍:1-12
- 第五個*號表示一個星期中的第幾天,以星期天開始依次的取值為0~7,0、7都表示星期天
以上已經(jīng)配置完成,親測有效
linux定時刪除時間格式文件夾
#!/bin/bash
function deletedir(){
ago_file=$(date -d '30 days ago' +%Y%m%d)
dir_or_file=$1
if [ -d $dir_or_file ]
then
for element_date in `ls $dir_or_file`
do
dir_or_file_date=$dir_or_file"/"$element_date
if [ -d $dir_or_file_date ]
then
date_file=$(date -d $element_date +%Y%m%d)
if [ $date_file -lt $ago_file ]
then
rm -rf $dir_or_file_date
fi
fi
done
fi
}
root_dir="/data0/test"
deletedir $root_dir總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解CentOS8更換yum源后出現(xiàn)同步倉庫緩存失敗的問題
這篇文章主要介紹了詳解CentOS8更換yum源后出現(xiàn)同步倉庫緩存失敗的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Linux常用查看硬件設(shè)備信息命令大全(值得收藏)
本文是小編收藏整理的關(guān)于linux查看硬件設(shè)備信息的命名,非常不錯,值得收藏,需要的朋友參考下吧2016-12-12
Linux系統(tǒng)安裝Samba服務(wù)器實現(xiàn)過程
本文介紹了如何在CentOS7系統(tǒng)上安裝和配置Samba服務(wù)器,以實現(xiàn)Windows和Linux系統(tǒng)之間的文件共享2026-02-02
Linux中進(jìn)程在后臺可靠運行的方法總結(jié)
本篇文章主要給大家介紹了Linux中進(jìn)程在后臺可靠運行的方法以及示例代碼分析,一起學(xué)習(xí)參考下吧。2017-12-12

