这个问题在这里已经有了答案:
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/