免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2697 | 回复: 1
打印 上一主题 下一主题

怎样用perl脚本实现只保留最近7天的日志文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-12-03 00:15 |只看该作者 |倒序浏览
本帖最后由 lzj24 于 2015-12-03 00:17 编辑

假如一个目录里面存的是每天的日志文件,有一个定时任务会把当天的日志文件写进这个目录并且文件命名以当天的日期来作为命名格式,怎样用perl的脚本实现只是保留最近7天的日志文件?
例如,日志文件的格式为:
run.log.2015-12-02_01
run.log.2015-12-03_01
run.log.2015-12-04_01
(最后的01表示日志是在当天的凌晨1点写到这个文件里面。主管要求日志文件的格式必须是这样(⊙﹏⊙))

求助perl大神,perl新手一枚。

论坛徽章:
0
2 [报告]
发表于 2015-12-03 22:20 |只看该作者
本帖最后由 aku1 于 2015-12-03 22:22 编辑

最简单的其实是find ,这个我觉得你写了perl,想想就知道,别做伸手党
假设你文件名有特征:这里改下my @lsfile=glob "/home/jimmy/Downloads/perl/test/run.log*";
run.log.2015-11-26_01  run.log.2015-12-03_01  weaf12  weaf18  weaf23  weaf29  weaf34  weaf4   weaf45  weaf50  weaf56  weaf61  weaf67  weaf72  weaf78  weaf83  weaf89  weaf94
run.log.2015-11-27_01  run.log.2015-12-04_01  weaf13  weaf19  weaf24  weaf3   weaf35  weaf40  weaf46  weaf51  weaf57  weaf62  weaf68  weaf73  weaf79  weaf84  weaf9   weaf95
run.log.2015-11-28_01  weaf1                  weaf14  weaf2   weaf25  weaf30  weaf36  weaf41  weaf47  weaf52  weaf58  weaf63  weaf69  weaf74  weaf8   weaf85  weaf90  weaf96
run.log.2015-11-29_01  weaf10                 weaf15  weaf20  weaf26  weaf31  weaf37  weaf42  weaf48  weaf53  weaf59  weaf64  weaf7   weaf75  weaf80  weaf86  weaf91  weaf97
run.log.2015-11-30_01  weaf100                weaf16  weaf21  weaf27  weaf32  weaf38  weaf43  weaf49  weaf54  weaf6   weaf65  weaf70  weaf76  weaf81  weaf87  weaf92  weaf98
run.log.2015-12-02_01  weaf11                 weaf17  weaf22  weaf28  weaf33  weaf39  weaf44  weaf5   weaf55  weaf60  weaf66  weaf71  weaf77  weaf82  weaf88  weaf93  weaf99
[jimmy@oc3053148748 test]$ cat  ../pl_backup01.pl
#!/usr/bin/perl -w
use strict;
my $arpath="/tmp/test/";
my @lsfile=glob "/home/jimmy/Downloads/perl/test/*";
foreach my $file (@lsfile){
  if (time()-(stat($file))[9] >(60*60*24*7)) {
     # print "$file\n";
     system("cp $file $arpath");
   }
}

[jimmy@oc3053148748 test]$ ls  /tmp/test/
weaf1    weaf13  weaf18  weaf22  weaf27  weaf31  weaf36  weaf40  weaf45  weaf5   weaf54  weaf59  weaf63  weaf68  weaf72  weaf77  weaf81  weaf86  weaf90  weaf95
weaf10   weaf14  weaf19  weaf23  weaf28  weaf32  weaf37  weaf41  weaf46  weaf50  weaf55  weaf6   weaf64  weaf69  weaf73  weaf78  weaf82  weaf87  weaf91  weaf96
weaf100  weaf15  weaf2   weaf24  weaf29  weaf33  weaf38  weaf42  weaf47  weaf51  weaf56  weaf60  weaf65  weaf7   weaf74  weaf79  weaf83  weaf88  weaf92  weaf97
weaf11   weaf16  weaf20  weaf25  weaf3   weaf34  weaf39  weaf43  weaf48  weaf52  weaf57  weaf61  weaf66  weaf70  weaf75  weaf8   weaf84  weaf89  weaf93  weaf98
weaf12   weaf17  weaf21  weaf26  weaf30  weaf35  weaf4   weaf44  weaf49  weaf53  weaf58  weaf62  weaf67  weaf71  weaf76  weaf80  weaf85  weaf9   weaf94  weaf99
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP