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

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

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

时间: 2024-08-04 19:34:07

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

Python 获取文件的创建时间,修改时间和访问时间

# 用到的知识# os.path.getatime(file) 输出文件访问时间# os.path.getctime(file) 输出文件的创建时间# os.path.getmtime(file) 输出文件最近修改时间 #-*- encoding=utf8 -*-import time import os def fileTime(file): return [ time.ctime(os.path.getatime(file)), time.ctime(os.path.getctime(fil

windows10用powershell修改文档/文件夹创建时间、修改时间、访问时间

参考博文:windows用powershell修改文档/文件夹创建时间.修改时间 用win10自带的powershell可以轻松修改文档/文件夹创建时间.修改时间.而且可以批量修改. 1. 步骤: 新建一个bat文件,在其中添加语句: @ECHO OFF powershell.exe -command "ls 'folder_path\*.dll' | foreach-object { $_.LastWriteTime = Get-Date; $_.CreationTime = Get-Date

python 修改文件的创建时间、修改时间、访问时间

目录 python 修改文件创建.修改.访问时间 方案一 方案二(无法修改文件创建时间) python 修改文件创建.修改.访问时间 突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 参考博客:python修改任意文件的创建时间.修改时间.访问时间 from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle from win32fi

Python操作Hdfs,获得hdfs文件名和文件的基本属性,包括修改时间,并转化为标准时间

使用anaconda安装python hdfs包 python-hdfs 2.1.0的包 from hdfs import *import time client = Client("http://192.168.56.101:50070")ll = client.list('/home/test', status=True)for i in ll: table_name = i[0]#表名 table_attr = i[1]#表的属性 #修改时间1528353247347,13位到毫

VC++ 获取文件属性创建时间、修改时间和访问时间

转载:http://blog.sina.com.cn/s/blog_66bf8d8301014ikd.html WIN32_FIND_DATA结构 关于文件的全部属性信息,总计有以下以下9 种:文件的标题名.文件的属性(只读.存档,隐藏等).文件的创建时间.文件的最后访问时间.文件的最后修改时间.文件大小的高位双字.文件大小的低位双字.保留.保留.在这里只有文件标题名和文件的长度可以通过CFile类比较方便的获得,而对于其他几种属性的获取和设置就无能为力了. 在用findfirst()和find

获取文件创建时间、最后修改时间、访问时间

//获取文件属性创建时间.访问时间 和 修改时间 //这里的CreateFile只导致文件只能被只读打开,不能有其他权限,最好用FindFile获取创建,修改和访问时间 void get_file_create_modify_access_time() { std_string str_create_time, str_access_time, str_modify_time; FILETIME ftCreate, ftAccess, ftModify; std::string strFileP

AOP统一处理修改人、创建人、修改时间、创建时间

1.配置拦截 <bean id="dalAop" class="com.biz.common.aop.DalAop" /> <aop:config> <aop:aspect ref="dalAop" > <aop:before method="beforeInsert" pointcut="execution(* com.dal.*.mapper.*.insert*(..))

Linux下查看/修改系统时区、时间

一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" 方法 B 仅限于RedHat Linux 和 CentOS 命令 : "timeconfig" 方法 C 适用于Debian 命令 : "dpkg-reconfigure tzdata" 3. 复制相应的时区文件,替换系统时区文件:或者创建链接文件 cp /usr/sh

linux学习笔记——日志分析管理同步、修改时间、同步时间

############################################################第十单元####################################################################### 1.rsyslogd服务(syslogd加强版)rsyslogd服务功能是用来管理系统日志功能:1)直接将日志写入到数据库2)日志队列(内存队列和磁盘队列)3)模板机制,可以得到多种输出格式4)插件式结构,多种多样的输入.输出模