可以使用find命令
find 路徑 -mtime +天數 -type f -name "檔名" -exec rm -rf {} \;
find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;
/tmp --設定查詢的目錄;
-mtime +30 --設定修改時間為30天前;
-type f --設定查詢的型別為檔案;
-name "*" --設定檔名稱,可以使用萬用字元;
-exec rm -rf --查詢完畢後執行刪除操作;
{} \; --固定寫法
另外的方法大同小異:
#find /tmp -mtime +30 -type f | xargs rm -rf
可以吧這個命令寫到指令碼裡,
cleandata.sh
find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \;
配置可執行
chmod u+x ./cleandata.sh
配置到crontab
crontab -e
0 0 * * * /home/username/cleandata.sh > /dev/null 2>&1
每天零點自動執行
第乙個*號表示時間中的 分鐘 取值範圍:0-59
第二個*號表示時間中的 小時 取值範圍:0-23
第三個*號表示乙個月中的第幾天,取值範圍:1-31
第四個*號表示一年中的第幾個月,取值範圍:1-12
第五個*號表示乙個星期中的第幾天,以星期天開始依次的取值為0~7,0、7都表示星期天
Linux定時清理30天前的Tomcat日誌指令碼
一 在tomcat的log路徑下新建.sh指令碼檔案clean.sh,內容如下 bin bash logs path mnt tomcat apache tomcat 8.5.23 logs find logs path mtime 30 name localhost.log exec rm rf ...
linux定時刪除N天前的舊檔案
語句寫法 find 對應目錄 mtime 天數 name 檔名 exec rm rf 例1 find usr local backups mtime 10 name exec rm rf 將 usr local backups目錄下所有10天前帶 的檔案刪除 find linux的查詢命令,使用者查...
shell 定時刪除指定N天前的檔案
name filename 查詢名為filename的檔案 perm 按執行許可權來查詢 user username 按檔案屬主來查詢 group groupname 按組來查詢 mtime n n 按檔案更改時間來查詢檔案,n指n天以內,n指n天以前 atime n n 按檔案訪問時間來查gin ...