删除超过x年或数天的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除超过x年或数天的文件相关的知识,希望对你有一定的参考价值。

我巨大的上传文件夹,并试图删除旧文件,例如。超过3年的文件或在特定日期之前添加的文件但由于某种原因它最终删除新旧文件。

这是我到目前为止尝试的命令

命令1

 find /home/user/uploads -maxdepth 1 -type f ! -newermt "2018-10-14 00:00:00" -exec rm -v {} ;

此命令删除忽略with的所有内容! -newermt或just - newermt

命令2

find /home/user/uploads -maxdepth 1 -mtime +1095 -type f -print -exec rm -i  {} ;

它没有返回任何结果

命令3

find /home/user/uploads -type f ! -newermt "2018-10-14 00:00:00" | xargs rm 

这返回了一个错误“xargs:默认情况下不匹配的单引号对于xargs是特殊的,除非你使用-o选项”

我无法弄清楚这些命令究竟出了什么问题。我正在运行CentOS系统。

答案

因此,在使用命令一段时间后,这是有效的命令。

find . -maxdepth 1 -type f ! -newermt "2018-10-16" -exec rm -v {} ;

这些标志也有助于你遇到这种情况。

-maxdepth 1 

仅表示该文件夹中的文件

-newermt 

用于在该日期或之后修改的文件。

! -newermt 

用于在上述日期之前删除文件。

我还添加了-v标志,所以我会看到文件的输出已被删除。

感谢所有的帮助,这节省了我很多时间..

以上是关于删除超过x年或数天的文件的主要内容,如果未能解决你的问题,请参考以下文章

在 bash 中查找超过 X 天的文件并删除

自动从 Google 共享驱动器中删除超过 X 天的文件?

CMD 删除特定文件夹中超过 X 天的文件

sql SQL:删除超过“X”天的帖子

删除超过 7 天的文件

删除超过多少天的日志文件或者备份文件