是否有一个 shell 脚本可以删除文件夹中超过 x 分钟的所有文件?
答案1
这应该可以做到,我已经用 测试过了*.txt
,但你可以使用以下命令将其更改为所有文件*.*
:
#!/bin/bash
cd /usr/local/my_logs
find ./*.txt -type f -mmin +5 -exec rm {} \;
答案2
这将永远运行,删除每次迭代前三分钟以上修改的文件,然后等待一分钟再执行此操作:
while true
do
find -type f -mmin +3 -delete
sleep 60
done
-maxdepth 1
如果您不想让它递归,可以添加。
答案3
我使用这样的脚本来删除超过 30 天的备份:
find "/backups/mysql/" -type f -mtime +30 -print0 | xargs -0 rm -f
基于此,我认为你可以做类似的事情:
find "/yourDir/" -type f -mmin +10 -print0 | xargs -0 rm -f
我认为这会让他们超过10分钟