码迷,mamicode.com
首页 > 其他好文 > 详细

定时删除文件夹"$1"下最后修改时间大于当前时间"$2"天的文件

时间:2018-09-15 19:23:10      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:rest   大于   tomcat-7   exp   nts   The   sbin   服务   手动   

shell 脚本:

#!/bin/bash

now=`date "+%Y-%m-%d_%H:%M:%S"`      #获取当前时间 echo "当前时间: "$now

now=`date +%s`            #获取当前时间戳   单位:秒 echo "当前时间戳: "$now

function getdir(){          #遍历文件夹和文件夹下所有的文件

#    echo "删除文件夹"$1"下最后修改时间大于当前时间"$2"天的文件"    

for element in `ls $1`    

     do         dir_or_file=$1"/"$element        

           if [ -d $dir_or_file ]        #如果是目录,遍历该目录下的所有文件        

           then            

           getdir $dir_or_file $2        

           elif [ -f $dir_or_file ]       #如果是文件,判断最后修改时间大于当前时间指定天数就删除        

           then            

           zhxgsj=`stat -c %Y $dir_or_file`    #获取文件最后修改时间           

                     if [ `expr $now - $zhxgsj` -gt `expr 24 \* 60 \* 60 \* $2` ]           

                     then           

                     var=`/bin/rm -rf $dir_or_file`           

                     echo $var           

                     echo "删除文件: "$dir_or_file" 最后修改时间: "`date -d @$zhxgsj  "+%Y-%m-%d"`           

                     fi       

             fi  

    done

}

dir="/home/log"

getdir $dir 30   

dir="/mydata/tomcat-7.0.79/logs"

getdir $dir 2

 

添加到定时任务:

# crontab -e

添加  00 03 * * * bash /home/clear.sh

# /sbin/service crond restart //重启服务

 

 

 

 

 

 

 

 

 

 

 

 

 

 

安装crontab:

yum install crontabs

服务操作说明:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

查看crontab服务状态:

service crond status

手动启动crontab服务:

service crond start

查看crontab服务是否已设置为开机启动,执行命令:

ntsysv

定时删除文件夹"$1"下最后修改时间大于当前时间"$2"天的文件

标签:rest   大于   tomcat-7   exp   nts   The   sbin   服务   手动   

原文地址:https://www.cnblogs.com/gaobo543013306/p/9651806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!