定时删除文件夹"$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
定时删除文件夹"$1"下最后修改时间大于当前时间"$2"天的文件的更多相关文章
- Python 获取文件的创建时间,修改时间和访问时间
# 用到的知识# os.path.getatime(file) 输出文件访问时间# os.path.getctime(file) 输出文件的创建时间# os.path.getmtime(file) 输 ...
- python 修改文件的创建时间、修改时间、访问时间
目录 python 修改文件创建.修改.访问时间 方案一 方案二(无法修改文件创建时间) python 修改文件创建.修改.访问时间 突如其来想知道一下 python 如何修改文件的属性(创建.修改. ...
- ubuntu修改时间为北京时间
ubuntu修改时间为北京时间 查看当前时区root@ubuntu:/# date -R修改时区root@ubuntu:/# tzselect复制文件到/etc目录下root@ubuntu:/# cp ...
- VC++ 获取文件属性创建时间、修改时间和访问时间
转载:http://blog.sina.com.cn/s/blog_66bf8d8301014ikd.html WIN32_FIND_DATA结构 关于文件的全部属性信息,总计有以下以下9 种:文件的 ...
- AOP统一处理修改人、创建人、修改时间、创建时间
1.配置拦截 首先开启 <aop:aspectj-autoproxy proxy-target-class="true"/>代理.解释一下下面..的意思是多个 < ...
- 转载:Linux下查看/修改系统时区、时间
一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" ...
- Python os.removedirs() 和shutil.rmtree() 用于删除文件夹
概述 os.removedirs() 方法用于递归删除目录.像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般 ...
- os删除文件或者文件夹
最近在使用os.remove删除目录时报错了,这里记录下os操作文件或者目录的常用方法 递归删除文件或文件夹 import shutil shutil.rmtree() 文件的重命名 os.renam ...
- bat脚本 定时删除备份的文件
删除 D:\yswbak 目录下rar类型 6天前的 文件 @echo off forfiles /p D:\yswbak /m *.rar /d - /c "cmd /c del @pat ...
随机推荐
- IE兼容性问题的总结
一.IE6/IE7对display:inline-block的支持欠缺 1.表现描述 这个应该算是很经典的ie兼容性问题了,inline-block作用就是将块级元素以行的等式显示.在主流浏览器中水平 ...
- retry之python重试机制
安装 pip install retry Retry装饰器 retry(exceptions=Exception, tries=-1, delay=0, max_delay=None, backoff ...
- C# .NET Web Api 保存Session
Global.asax中添加: public override void Init() { this.PostAuthenticateRequest += (sender, e) => Http ...
- PHP中json_encode()问题
PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据. 要想不转义,在后面加个参数即可 json_encode($data, JSON_UNESCAPED_UNICODE); ...
- 【Servlet】监听器入门
- ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python)
ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python) 时隔1年,再回来总结这个问题,因为它是ros+python开发中,太常用的一个操作,需要 ...
- ftp的安全问题
ftp漏洞http://www.4hou.com/technology/3507.html
- 重识linux-压缩文件的原理
1 一种压缩原理 在系统中,系统使用byte作为最小单位来描述文件大小,但是计算机最小的单位是bit 一个byte=8bit,通常描述一个文件,计算机是使用0和1来存储的,所以系统工程师利用技术把为0 ...
- 1. @ModelAttribute注解
添加@ModelAttribute修饰的方法,在每个目标方法调用前都会执行该方法. 一般情况下,在form表单修改的时,某项字段规定为不可更改,就需要使用该注解标注的方法,根据id的获取与否,来从数据 ...
- MFC 如何在一个窗体中嵌套在另一个窗体中
其中的一个方法是讲子窗体设置为非模式对话框,具体操作为 :设置子窗体的border属性为none,style为 child. 在父窗体中需要用create来实现,具体例子如下. 在父窗体的OnInit ...