【发布时间】: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 分钟似乎是一个奇怪的缓存间隔?