免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yu330
打印 上一主题 下一主题

定时删除文件 [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
11 [报告]
发表于 2005-07-27 16:12 |只看该作者

定时删除文件

find就直接可以搞定了

论坛徽章:
0
12 [报告]
发表于 2005-07-27 16:15 |只看该作者

定时删除文件

二楼说的很明白了,不要什么都让别人做给你看。自己先写着,不行大家探讨。

论坛徽章:
0
13 [报告]
发表于 2005-07-27 16:32 |只看该作者

定时删除文件

[quote]原帖由 "mocou"]不明白你到底想干嘛,[/quote 发表:


比如我有二个播放清单,一个是今天的(2005-07-27),一个是明天的(2005-07-28),我把两个同时上传到发布服务器上了,过7天之后,2005-07-27我不要,28要的。

论坛徽章:
0
14 [报告]
发表于 2005-07-27 16:40 |只看该作者

定时删除文件

要删除要先思考怎么找到,然后是删除,然后是定期删除。
1。你的文件是以什么命名方式存储的。不同的方式有不同的查询方法。
如果文件明是,日期。用脚本date来确定时间。如果不是只能用find
2。删除没什么好说了吧,rm而已。
3。定期执行。把所有命令写个shell,然后用crontab来定期执行

论坛徽章:
0
15 [报告]
发表于 2005-07-27 21:45 |只看该作者

定时删除文件

[quote]原帖由 "恋家的老鼠"]二楼说的很明白了,不要什么都让别人做给你看。自己先写着,不行大家探讨。[/quote 发表:


哎,看来大家还不明白我的意思。比如我在今天,也就是27号创建了一个目录名为2005-07-27的文件,一个目录名为2005-07-28的文件,过七天之后,2005-07-27之前的文件都要删除,而2005-07-28不可以删除的。用
find . -type f -mtime +7 -exec rm{} \;只能实现删除前七天的文件,也就是说FIND命令是按照文件创建的日期来执行的。而我现在需要根据文件名来删除。
有高人指点可用awk、grep、find组合起来来实现。可我偶不会写脚本。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
16 [报告]
发表于 2005-07-27 22:00 |只看该作者

定时删除文件

换个思路,用touch -d来创建文件,再用find -mtime来查找

论坛徽章:
0
17 [报告]
发表于 2005-07-27 23:00 |只看该作者

定时删除文件

主要是“现在时间-7天”怎么计算的问题

论坛徽章:
0
18 [报告]
发表于 2005-07-27 23:22 |只看该作者

定时删除文件

这样如何?

  1. # rm -rf `date '+%Y-%m-%d' -d ' -7 day'`
复制代码

论坛徽章:
0
19 [报告]
发表于 2005-07-28 00:20 |只看该作者

定时删除文件

nnd,太久没写shell了,竟然忘了date -d的用法了
根据要求,再弄个for i in 目录的循环把工作目录中的文件遍历一遍,再比较一下,把7天前的文件删除旧可以了

论坛徽章:
0
20 [报告]
发表于 2005-07-28 09:04 |只看该作者

定时删除文件

学习中
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP