gpt4 book ai didi

linux - 7 天不工作后删除文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:18 24 4
gpt4 key购买 nike

我正在尝试删除所有超过 7 天的文件。该命令正在运行但不正确。

 find '/files/tem_data/' -mtime +7 -exec rm -rf {} \+

它确实会删除文件,但不准确。

ls -Artl | head -n 2

查找确实会删除文件,但是当我运行 ls 命令时,确实包含应删除的文件。例如今天是 11 月 7 日。该查找应在 11 月 1 日之前删除所有文件。它不是。该命令保留 10 月 30 日和 31 日的文件。如何删除超过 7 天的文件。

如果我在 3 分钟后运行 find 命令。它会删除日期为 10 月 30 日且在首次运行后 3 分钟后的文件。

最佳答案

来自 man find:

-atime n

File was last accessed n*24 hours ago. When find figures out how many
24-hour periods ago the file was last accessed, any fractional part is
ignored, so to match -atime +1, a file has to have been accessed at least
two days ago.

这意味着您的命令实际上删除了 8 天或更多天前访问过的文件。

现在时间是

$ date
Tue Nov 7 10:29:29 PST 2017

find 将要求文件早于:

$ date -d 'now - 8 days'
Mon Oct 30 11:29:05 PDT 2017

换句话说,保留 10 月 30 日后的一些文件是预期的并记录在案的行为。

要说明 find 向下舍入,只需使用 -mtime +6 即可。

关于linux - 7 天不工作后删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47164895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com