这个问题在这里已经有了答案:





How to delete files older than X hours

(9 个回答)


4年前关闭。




我有这个命令,目前每 24 小时运行一次。

find /var/www/html/audio -daystart -maxdepth 1 -mtime +1 -type f -name "*.mp3" -exec rm -f {} \;

我想每 1 小时运行一次并删除超过 1 小时的文件。这样对吗:
find /var/www/html/audio -daystart -maxdepth 1 -mtime **+0.04** -type f -name "*.mp3" -exec rm -f {} \;

我不确定我使用的是十进制数吗??

感谢您的任何更正。

编辑

或者我可以只使用 -mmin 60 吗?这样对吗?

编辑2

我试过你的测试,还好你建议了。我得到了一个空的结果。我想删除所有文件 OLDER 超过 60 分钟!我怎样才能做到这一点??我的命令真的做到了吗?

最佳答案

-mmin 怎么样?

find /var/www/html/audio -daystart -maxdepth 1 -mmin +59 -type f -name "*.mp3" \
    -exec rm -f {} \;

从 man 中找到:

-分钟
文件的数据在 n 分钟前最后一次修改。

另外, 一定要先测试这个!

... -exec echo rm -f '{}'\;
^^^^ 添加 'echo' 这样您就可以看到将要获取的命令
运行而不是先实际尝试它们。

关于bash - 查找 -mtime 早于 1 小时的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/543946/

10-15 05:08