linux删除n天前的文件|linux 按日期删除文件里面的内容怎么删除

linux删除n天前的文件|linux 按日期删除文件里面的内容怎么删除的第1张示图

1. linux里面删除n天前文件的问题。

这么一个简单的动作不用写脚本了,用find就行,除非你有N多个A目录这种状况的需专求。我属用的是RedHat6平台,bash执行环境,GNU版本指令,在当前A目录下执行。具体的会略有差异,请谨慎参考:

find . -path “./B” -prune -o -mtime “+5” -type “f” -exec rm -f {} ;

双引号的内容分别为你排除的目录、多少天前以及资料类型。上面的代码已包括了第二个问题。

2. linux 按日期删除文件里面的内容,怎么删除

$find/temp/ -type f -mtime +n -print 注:/temp/ 指出寻找/temp/目录下的文件-type f 指出找系统普通文件,专不属包含目录文件-mtime +n 指出找 n*24 小时前的文件-print 将找出的文件打印出来

3. linuxfind查找大于多少天的文件,并删除之

linux查找超过一定时间的文件,并批量删除1、find . -maxdepth 4 -name "*-*" -mtime 3-maxdepth的值决定是否对下面的子目录进行递归查找-mtime 3表示查找3天内的,-mtime +3表示查找超过3天的,也就是查找3天前的文件2、find . -maxdepth 4 -name "*-*" -mtime 3 | sudo xargs rm -rf —————————————————————————————————————————–find ./ -maxdepth 4 -mtime +3 -a -mtime -20 -type f — 如果将xmaxdepth放置于-mtime之后,将会抛出这个错误find: warning: you have specified the -maxdepth option after a non-option argument -mtime, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments.——————————————————————————————————————————mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件——————————————————————————————————————————maxdepth 参数详解-maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样导致查找速度变慢,查找花费的时间过多。例如,我们要在当前(.)目录技巧子目录中查找一个名叫fred的文件,我们可以使用如下命令find . -maxdepth 2 -name fred 假如这个fred文件在./sub1/fred目录中,那么这个命令就会直接定位这个文件,查找很容易成功。假如,这个文件在./sub1/sub2/fred目录中,那么这个命令就无法查找到。因为前面已经给find命令在目录中最大的查询目录级别为2,只能查找2层目录下的文件。这样做的目的就是为了让find命令更加>精确的定位文件,如果你已经知道了某个文件大概所在的文件目录级数,那么加入-maxdepth n 就很快的能在指定目录中查找成功。也即是-maxdepth 参数指定递归查找级别,如果-maxdepth 2 则查找当前目录递归查找2层,-maxdepth 4 则查找当前目录递归查找4层。

4. linux如何删除某个时间之前的过期文件,在一个文件夹内部的

find 命令可以完成这一需求,比如删除3天前的所有以“.log”结尾的文件回:

find /文件路径 -name "*.log" -mtime +2 -exec rm {} ;

说明:

1. 文件路径是答目标文件所在路径;

2. -name 设定目标文件名,建议采用,否则可能误删其他文件;

3. -ctime 文件最后一次修改时间,后面只能用整数,单位为天,同时,还有atime,mtime,amin,cmin,mmin等时间参数可选,具体请查看帮助;

4. 时间说明如下图(随手画的,大概是这个意思),所以删除三天前的文件要用+2

5. -exec 表示需要执行的命令,{}代表find找到的内容,";"是固定写法表示结束-exec,

所以例子的"-exec rm {} ;" 就表示对find找到的符合条件的文件执行删除操作

5. linux的怎么样清除3天未使用的文件

使用find命令+atime参数,例如find /home/yflin/mypro/ -atime +1 -name '*' -exec rm -f {} \;这个命令可以查出指定目录下两天前被访问的文件,并删除之。其中atime=File was last accessed n*24 hours ago. +n=more than n days, n=exact days, -n=less than n days具体看一下你所用linux版本的man find.实际应用前最好使用find /home/yflin/mypro/ -atime +1 -name '*' -exec ls -lu {} \;来核对一下结果是否和你预期的结果相符,没有问题了再用rm代替ls。ls -lu中的u参数表示access time. 至于每隔三天执行一次,还真没想出来,似乎按星期几或者日期定义cron都不能满足这个要求。

6. 在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

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

你的意思抄是删除某天之前的所有文件对吧?比如21号之前的文件,就是你所说的20日之前的文件,以及20日当天的文件。我没理解错吧?

我像你们一样,首先,通过find查找文件。

然后计算,文件修改日期是否在限定的日期之前,如果是,那么删除文件。

我把命令写到了bash脚本里面。

使用方法:

chmod +x ./del_file_before_that_day.sh#给文件添加执行权限

./del_file_before_that_day.sh "2013-8-21"

回车,

拖动要处理的文件夹到终端,即可完成处理。

楼主,你可以参考一下。顺便说一下,我把rm命令注释掉了,等你测试好脚本,再去除注释吧,以免因为执行环境不同,结果出偏差,给你带来损失。

8. 删的不彻底如何彻底删除Linux文件

shred彻底删除文件的方法:$ shred -u fileshred会用一些随机内容覆盖文件所在的节点和数据块,并删除文件(-u参数)。如果想清除的更彻底一点可以加-z 参数,意思是先用随机数据填充,最后再用0填充。$ shred -u -z fileshred的详细参数:-f, –force 更改权限允许写入(如有必要)-n, –iterations=N 重写N次,默认为3次–random-source=FILE 从指定文件读取数据-s, –size=N 将文件粉碎为固定大小 (可使用后缀如K、M、C等)-u, –remove 重写后截短并移除文件-v, –verbose 显示进度-z, –zero – add 用0覆盖数据–help 显示帮助–version 显示版本信息

9. linux 定时删除n天前的文件crontab

先算数量,判断后再删 filenum=`find . -name "log.*" -mtime +10 | wc -l`if [ $filenum -gt 10 ] ; thenfilenum=`find . -name "log.*" -mtime +10 -exec rm -f {} \;fi

10. 如何操作Linux 定时删除指定目下N天前的文件

* 6 * * * find /root/home/zhang/* ctime 1 -exec rm -rf {} \;表示每天早上六点删除/root/home/zhang目录下一天前创建的所有文件专,不删除文件夹属zhang,如果这个文件夹也要删除的话用 * 6 * * * find /root/home/zhang ctime 1 -exec rm -rf {} \;* 6 * * * 第一个*号表示时间中的 分钟 取值范围:0-59第二个*号表示时间中的 小时 取值范围:0-23第三个*号表示一个月中的第几天,取值范围:1-31第四个*号表示一年中的第几个月,取值范围:1-12第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天ctime 表示创建时间,1 表示一天前,其实Linux中不存在文件创建时间,只有访问时间(atime)、修改时间(mtime)、状态改动时间(ctime) 可以通过命令 stat + 文件路径 查看时间也可通过命令 touch -t 201212212359 aa (建立文件aa,时间是2012年12月21日23时59分)修改时间

未经允许不得转载:山九号 » linux删除n天前的文件|linux 按日期删除文件里面的内容怎么删除

赞 (0)