`
sundful
  • 浏览: 1253603 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux中删除指定日期之前的文件

 
阅读更多
要删除系统中就的备份文件,就需要使用命令了:
    #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;
  假如在一个目录中保留最近30天的文件,30天前的文件自动删除
  #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;
  /tmp  --设置查找的目录;
  -mtime +30 --设置时间为30天前;
  -type f --设置查找的类型为文件;
  -name *.sh[ab] --设置文件名称中包含sha或者shb;
  -exec rm -f --查找完毕后执行删除操作;
  提示:将此命令写入crontab后即可自动完成查找并删除的工作
  另外的方法大同小异
  #find . -mtime +30 -type f | xargs rm -rf
  www.2cto.com  
我的操作是:先ls -ltr 查看时间,没有太久的所以就用 -cmin n查找系统中最后N分钟被改变文件状态的文件。具体命令:$ find /home/oracle/test6 -cmin +20 -type f -name *.xml -exec rm -f { } \; 
 
另外的方法大同小异
#find . -mtime +30 -type f | xargs rm -rf
 
$find . -type f -cmin +10 -exec rm -rf *.xml {} \;
 
find . type f -name "debug*"  -atime +3 -exec rm -f {} \;
 
首先cd进入目录:
 
 find . -name "*~" -exec rm  {} \;
 
find . -ctime +n -exec  -exec rm -vi {} \;
 
这里的+n是指多少天以前,比如:+7
 
find . -ctime +7 -exec  -exec rm -vi {} \;
 
如果不想手动确认,把命令中的-vi改成-fv
 
请详查find命令.
 
使用find时要区分清楚atime,ctime,mtime的区别,一般都使用mtime来查找,因为在ls -al显示出来的就是mtime时间戳,可以使用:  # find  $PAHT -mtime +3  -ok rm {} \;  
在交互模式下删除比较保险。
 
一、按照一定日期格式命名文件
 
1、按照一定的格式输出日期:
    www.2cto.com  
    date +"%y%m%d"
 
    格式说明:
    % : 印出 %
%n : 下一行
%t : 跳格
%H : 小时(00-23)
%I : 小时(01-12)
%k : 小时(0-23)
%l : 小时(1-12)
%M : 分钟(00-59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00-60)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
 
日期方面 :
%a : 星期几 (Sun-Sat)
%A : 星期几 (Sunday-Saturday)
%b : 月份 (Jan-Dec)
%B : 月份 (January-December)
%c : 直接显示日期与时间
%d : 日 (01-31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001-366)
%m : 月份 (01-12)
%U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0-6)
%W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000-9999)
 
2、命名带有日期的文件:filename`date +%y%m%d`,此处的"`"不是单引号。
 
二、以创建文件日期为界线删除文件
  www.2cto.com  
1、find命令简解
 
       find pathname -options [-print -exec -ok ...]
 
    pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
    -print: find命令将匹配的文件输出到标准输出。
    -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {  } \;,注意{   }和\;之间的空格。
    -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
 
  options:
  -name
 
按照文件名查找文件。
 
-perm
按照文件权限来查找文件。
 
-prune
使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
 
-user
按照文件属主来查找文件。
 
-group
按照文件所属的组来查找文件。
 
-mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
 
-nogroup
查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
 
-nouser
查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2
  www.2cto.com  
查找更改时间比文件file1新但比文件file2旧的文件。
-type
 
查找某一类型的文件,诸如:
 
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
 
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
 
-mount:在查找文件时不跨越文件系统mount点。
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
 
对于时间相关的参数,有以下补充:
 -amin n
  查找系统中最后N分钟访问的文件
 
  -atime n
  查找系统中最后n*24小时访问的文件
  www.2cto.com  
  -cmin n
  查找系统中最后N分钟被改变文件状态的文件
 
  -ctime n
  查找系统中最后n*24小时被改变文件状态的文件
 
    -mmin n
  查找系统中最后N分钟被改变文件数据的文件
 
  -mtime n
  查找系统中最后n*24小时被改变文件数据的文件
 
2、删除固定日期以前的文件
   find logs -type f -mtime +5 -exec rm {  } \;
分享到:
评论

相关推荐

    linux命令行工具:删除指定目录下指定时间前的某些文件(含源代码)

    通过以上步骤,你可以有效地在Linux环境中实现自动删除指定目录下指定时间前的文件。这个功能在日志管理、存储空间优化等方面非常有用,但务必遵循最佳实践,以确保系统的稳定性和数据的安全性。

    LINUX按时间批量删除文件(删除N天前文件)

    本文将详细介绍如何利用`find`命令结合其他工具来批量删除指定目录下N天之前的文件。 #### 一、`find`命令简介 `find`是Linux系统中最强大的文件查找命令之一。它可以根据多种条件来查找文件,如文件名、文件大小...

    定时删除指定目录下指定文件类型的文件 源码

    这个"定时删除指定目录下指定文件类型的文件 源码"就是一个这样的解决方案,它可以帮助我们节省存储空间,保持文件系统的整洁。下面我们将深入探讨这个主题。 1. **定时任务**:定时任务是计算机编程中的一个重要...

    linux c++按照时间排序删除文件夹里面的文件

    在Linux环境中,C++编程语言可以用来实现自动化处理任务,比如按照时间戳排序并删除文件夹中的文件。这个任务涉及到文件操作、时间戳比较以及控制删除文件的数量。下面将详细介绍如何实现这一功能。 首先,我们需要...

    重复文件删除工具Linux32位

    总之,"重复文件删除工具Linux32位"是一种实用的工具,利用MD5哈希技术帮助用户高效地查找和删除系统中的重复文件,以优化存储空间。在使用时,务必小心谨慎,确保不会误删重要文件。同时,定期清理重复文件是保持...

    RMAN 删除指定几天前的归档

    Oracle数据库中的RMAN(Recovery Manager)是一个常用的数据库备份和恢复管理工具,可以用来删除指定天数前的归档日志文件。 首先,我们需要了解归档日志的作用。在Oracle数据库中,当数据库处于归档模式时,所有对...

    linux常用命令,有创建,删除,查看文件或目录等

    - `rm filename`:删除指定文件。如果文件不存在,则会提示错误。 - `rm -f filename`:强制删除文件,不提示确认。 - **删除目录**: - `rmdir directory_name`:删除空目录。 - `rm -r directory_name`:递归...

    枚举文件夹下所有的文件,文件数量数量超过一定数目后,自动删除较早的文件

    QT中的QFileInfo类可以提供文件的元信息,包括修改日期。我们可以创建一个QFileInfo对象数组,然后根据文件的最后修改时间进行排序。 ```cpp QFileInfoList fileInfoList; for (QString fileName : fileNames) { ...

    Linux+ftp+自动上传备份文件脚本

    `find`命令在Linux中用于查找指定条件的文件。`-mtime`选项用于根据文件修改时间查找文件,`-1`表示查找一天内修改的文件,`+1`表示查找一天前修改的文件。`-exec`参数可配合其他命令一起执行,如`cp`复制文件。 5...

    find命令查询指定时间的大文件并删除

    现在我们来看如何删除指定时间内的大文件。假设你想要删除/home/testfile目录下,修改时间超过2天且后缀为`.dat`的文件,可以使用以下命令: ```bash find /home/testfile -mtime +2 -name "*.dat" -type f -exec ...

    删除某个时间之前的文件

    # 调用函数,删除指定目录下一个月前的文件 delete_files_older_than('/path/to/your/directory', timestamp_threshold) ``` 这个示例中,`delete_files_older_than`函数接收一个目录路径和一个时间戳,然后递归...

    自动压缩备份30天、7天以前的日志文件到指定目录下,并将原文件删除。

    前提,日志是以日期格式命名的,可以和日期比较大小,其他情况需自行调整 用户root用户创建定时任务 crontab -e 插入内容 00 01 * * * /bin/bash /home/ibps/sysscript/logbak.sh>> /home/ibps/sysscript/bklog.log...

    linux自动备份文件 并上传到远程服务器 脚本实现

    ### Linux自动备份文件并上传至远程服务器脚本实现 ...通过以上步骤,我们可以在Linux环境中实现MySQL数据库的定时自动备份,并将备份文件通过FTP协议上传至远程服务器,大大提升了系统的可靠性和数据安全性。

    SSH Secure File Transfer Client,Linux文件管理,Uinux文件管理

    Linux文件管理则涉及到对操作系统中文件和目录的操作,包括创建、删除、移动、复制、权限设置等。在这里,我们将深入探讨这两个主题。 首先,SSH(Secure SHell)是一种网络协议,它允许用户通过不安全的网络连接...

    Linux命令文件.docx

    Linux的文件系统采用树状结构,根目录`/`作为所有文件和目录的起点。以下是对几个关键目录的介绍: - **/bin**:存放最基本的命令工具,对所有用户开放。 - **/sbin**:主要用于存放系统管理命令,一般只有管理员...

    Linux使用shell脚本定时删除历史日志文件

    这个脚本的主要功能是根据配置文件中的设置,删除指定目录下超过特定时间(以小时为单位)的文件。脚本中的关键部分包括: 1. **路径定义**:定义了`PATH`变量,包含了常用的命令路径,以便脚本能够正确执行命令。 ...

    Linux基础学习笔记.docx

    rm 命令是 Linux 系统中的一种基本命令,用于删除文件或目录。rm 命令可以用于删除文件或目录。 9. 移动文件或目录 mv 命令 mv 命令是 Linux 系统中的一种基本命令,用于移动文件或目录。mv 命令可以用于移动文件...

    linux文件操作

    【Linux文件操作】在Linux操作系统中,文件管理是日常任务的核心部分。Linux提供了一系列强大的命令行工具,使得用户能够高效地处理文件。本篇主要关注的是`vi/vim`编辑器,这是一种流行的文本编辑器,尤其受到...

    Linux定时自动删除旧垃圾文件的Autotrash工具

    **Linux 定时自动删除旧垃圾文件的 Autotrash 工具** 在 Linux 系统中,管理垃圾文件是一项常见的任务。有时,我们可能会因为疏忽而让回收站中的文件堆积过多,占用宝贵的磁盘空间。为了自动化这个过程,我们可以...

    linux中文参考手册

    Linux中文参考手册是一份详尽的资源,专为学习和理解Linux操作系统中的各种命令而设计。这份手册旨在帮助用户熟练掌握Linux环境下的操作,提高工作效率。Linux是一个开源、免费的操作系统,广泛应用于服务器、嵌入式...

Global site tag (gtag.js) - Google Analytics