清理过期N天前的文件

#!/bin/bash
#清理过期N天前的文件,此脚本针对现场环境而定,大体思路可以模仿
#文件路径
path=/data0/*/*
cd $path
#当前时间戳
nowstamp=`date +%s`
#阀值,设置删触几天前的文件
stat=$((60*60*24*7))
#echo "7天的秒数:$stat"
 
#查找几天前的文件,删除
for i in `ls -tr  | grep '[0-9]{5,20}'`
do
   #取得创建时间
   filedate=`ls  --full-time $i | awk '{print $6}'`
   #取得文件名
   filename=`ls  --full-time $i | awk '{print $9}'`
   #转换文件创建时间为时间戳
   filestamp=`date +%s -d $filedate`
   #计算当前时间与文件创建时间的时间差
   diffstamp=$(($nowstamp-$filestamp))
 
   #如果是7天前的文件,删除
   if [ $diffstamp -ge $stat ];then
      echo "7天前的文件名:$filename,文件创建时间:$filedate"
      rm -rf $filename
   fi
done
 
脚本定时执行:
#ecard 文件定时清理
0 0 * * *  /bin/sh  /data0/shell/*.sh >>/data1/logs/*.log


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值