【问题标题】:find files that are older than 15 minutes查找超过 15 分钟的文件
【发布时间】:2016-02-25 19:49:26
【问题描述】:

我在 Amazon EBS 上设置了一个 chache 目录。我将它用作保存虚拟备份磁带的 S3FS 挂载文件系统的缓存。这些磁带正在与 Bacula 一起使用。

如果没有某种形式的本地缓存,备份到 S3 挂载目录的速度会很慢。 S3 上的存储空间当然几乎是无限的。所以我需要经常清理/cache目录。

我希望能够删除该目录中超过 15 分钟的磁带文件。

所以我尝试了这个命令:

[root@ops:~] #find /cache/jf-backup/ -type f -daystart -mmin +15
/cache/jf-backup/jf-backup-tape-0073
/cache/jf-backup/jf-backup-tape-0074

它确实找到了文件。但是它们不超过 15 分钟:

[root@ops:~] #ls -l /cache/jf-backup/
total 6199968
-rw-------. 1 root root 5368688607 Feb 25 14:39 jf-backup-tape-0073
-rw-------. 1 root root  980074496 Feb 25 14:42 jf-backup-tape-0074
[root@ops:~] #date
Thu Feb 25 14:46:59 EST 2016

如何让 find 命令仅查找超过 15 分钟的文件?一旦我这样做,我想用这样的命令删除这些文件:

find /cache/jf-backup/ -type f -daystart -mmin +15 -exec rm -rf {} \;

【问题讨论】:

  • 请注意,您可能正在删除最近读取的文件,因为读取不会更新缓存文件的 mtime。无论如何,15 分钟似乎是一个奇怪的缓存间隔?

标签: linux unix find


【解决方案1】:

来自@Jan 的https://unix.stackexchange.com/questions/155184/how-to-find-and-delete-files-older-than-specific-days-in-unix,试试

find /PATH/TO/FILES -type f -mmin +15 -exec rm -f {} +

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 2013-07-19
    相关资源
    最近更新 更多