在Linux/Unix系统中,我们的应用每天会产生日志文件,每天也会备份应用程序和数据库,日志文件和备份文件长时间积累会占用大量的存储空间,而有些日志和备份文件是不需要长时间保留的,一般保留7天内的文件即可,那么我们怎么找出并删除7天前产生的日志文件和备份文件并将其删除呢?

Linux/Unix提供了find 操作系统命令,使用该命令可以实现我们的目标。

$man find 可以查看find命令的使用方法。

1. 找出 n 天前的文件

$find /temp/ -type f -mtime +n -print

注:/temp/ 指出寻找/temp/目录下的文件

-type f 指出找系统普通文件,不包含目录文件

-mtime +n 指出找 n*24 小时前的文件

-print 将找出的文件打印出来

如:找出 7 天前的文件

$find /temp/ -type f -mtime +7 -print

找出 3 天前的文件

find /temp/ -type f -mtime +3 -print

 2. 找出并删除 7 天前的文件

$find /temp/ -type f -mtime +7 -print -exec rm -f {} \;

注:-exec 指出要执行后面的系统命令

rm -f 删除找出的文件

{} 只有该符号能跟在命令后面

\ 结束符

 3. 也可以使用 xargs 代替 -exec

$find /temp/ -type f -mtime +7 -print | xargs rm -f

find命令用途举例:

如:

* 查找/var下最大的前10个文件:

  $ find /var -type f -ls | sort -k 7 -r -n | head -10

  * 查找/var/log/下大于5GB的文件:

  $ find /var/log/ -type f -size +5120M -exec ls -lh {} \;

  * 找出今天的所有文件并将它们拷贝到另一个目录:

  $ find /home/me/files -ctime 0 -print -exec cp {} /mnt/backup/{} \;

  * 找出所有一周前的临时文件并删除:

  $ find /temp/ -mtime +7-type f | xargs /bin/rm -f

  * 查找所有的mp3文件,并修改所有的大写字母为小写字母:

$ find /home/me/music/ -type f -name *.mp3 -exec rename 'y/[A-Z]/[a-z]/' '{}' \;

Linux/Unix 怎样找出并删除某一时间点的文件(转)的更多相关文章

  1. Linux/Unix 怎样找出并删除某一时间点的文件

    Linux/Unix 怎样找出并删除某一时间点的文件 在Linux/Unix系统中,我们的应用每天会产生日志文件,每天也会备份应用程序和数据库,日志文件和备份文件长时间积累会占用大量的存储空间,而有些 ...

  2. 如何在 Linux 中找出最近或今天被修改的文件

    1. 使用 ls 命令,只列出你的 home 文件夹中今天的文件. ls -al --time-style=+%D | grep `date +%D` 其中: -a- 列出所有文件,包括隐藏文件 -l ...

  3. ORACLE中如何找出大表分布在哪些数据文件中?

    ORACLE中如何找出大表分布在哪些数据文件中?   在ORACLE数据中,我们能否找出一个大表的段对象分布在哪些数据文件中呢? 答案是可以,我们可以用下面脚本来找出对应表的区.段分别位于哪些数据文件 ...

  4. 我用 Python 找出了删除我微信的所有人并将他们自动化删除了

    1. 概述 不知你是否遇到过在微信上给通讯录中的某个人发消息,结果出现了这一幕: 平时一直认为自己的心里素质过硬,不过遇到这种情况 ... 在我缓了半个钟头(半分钟)之后,缓缓拿出了手机,打开微信,找 ...

  5. 《Linux/Unix系统编程手册》读书笔记7 (/proc文件的简介和运用)

    <Linux/Unix系统编程手册>读书笔记 目录 第11章 这章主要讲了关于Linux和UNIX的系统资源的限制. 关于限制都存在一个最小值,这些最小值为<limits.h> ...

  6. day6、Linux下如何找出7天以前的文件删除

    有些时候,由于系统产生的日志文件,使服务器的磁盘空间紧张,所以怎么删除7天以前的日志文件及让系统只保留7天以内的日志文件 方法一 使用命令:find + |xargs + ls 命令方法:find / ...

  7. linux下如何找出交叉编译器的某个库路径?

    答: 使用选项-print-file-name=<lib_name> 如列出libstdc++.so.6的库路径:aarch64-linux-gnu-gcc -print-file-nam ...

  8. Linux下sed找出IP中第四位

    ip addr|sed -n '9p'|egrep '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'|sed -nr 's#^.*inet (.*) b ...

  9. Shell 实现找出两个目录下的同名文件方法

    # 首先我们来创建一些 2 个目录,里面的目录结构及相关文件如下所示: # 从上面的测试目录可以看到, lol.txt lol2.txt 两个文件是两个目录下的同名文件 # 有实际例子,思路就容易出来 ...

随机推荐

  1. instr函数

    在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置. 语法如下:instr( string1, string2 [, start_position [, nth_appe ...

  2. 【摘】Chrome解决高版本Stable Beta扩展程序强制停用问题

    博客园插件遇到这个问题,下述摘自百度贴吧,原文地址http://tieba.baidu.com/p/3091171066 1]下载组策略模板 chrome.adm 2] Win+R gpedit.ms ...

  3. iOS中两个APP之间的跳转和通信

    app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...

  4. Android学习--摘录

    今天准备开始毕业设计--做一个android应用.无奈android基础木有一点,以前做过一个蓝牙应用,不过对android各方面的知识还是不懂啊,今天在android主页上看英文的android开发 ...

  5. DataTime格式化大全(转载)

    //c datetime 格式化 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21:25 Label2 ...

  6. [VS2013]如何闪开安装VS2013必须要有安装IE10的限制

    来源:http://blog.163.com/qimo601@126/blog/static/1582209320143354446462/   已阻止安装程序,此版本的Visual Studio需要 ...

  7. 内置函数 和 select练习3

    19.  查询选修"3-105"课程的成绩高于"109"号同学成绩的所有同学的记录. select * from score where cno='3-105' ...

  8. Floyd 求最短路(poj 1161)

    Floyd-Warshall算法介绍: Floyd-Warshall算法的原理是动态规划. 设为从到的只以集合中的节点为中间节点的最短路径的长度. 若最短路径经过点k,则: 若最短路径不经过点k,则. ...

  9. 几个与特殊字符处理有关的PHP函数

    函数名 释义 介绍 htmlspecialchars 将与.单双引号.大于和小于号化成HTML格式 &转成&"转成"' 转成'<转成<>转成> ...

  10. 【动态规划】bzoj1669 [Usaco2006 Oct]Hungry Cows饥饿的奶牛

    #include<cstdio> #include<algorithm> using namespace std; int n,a[5001],b[5001],en; int ...