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

问题描述 投票:0回答:1

我巨大的上传文件夹,并试图删除旧文件,例如。超过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系统。

shell unix xargs
1个回答
0
投票

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

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

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

-maxdepth 1 

仅表示该文件夹中的文件

-newermt 

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

! -newermt 

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.