免费注册 查看新帖 |

Chinaunix

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

[新手入门] 求一ksh脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-09 09:17 |只看该作者 |倒序浏览
有这样一个目录结构:
level 1-------------------root
leve 2 -------------------a       b             c            d ……
level 3-------------------x.log  xx.log      y.log     z.log ……
其中2层目录中的目录名是动态变化的,现在是a、b、c、d 4个目录,下一刻可能是a、b、m、n、g 5个目录,总之一直在变。
而第3层目录下都会有一个log文件名字不固定,但以“.log"结束。

要求将安第二层目录名对第3层目录下的log文件打包命名,比如将上图的x.log打包为a.tar, 将xx.log打包为b.tar, 将y.log打包为c.tar
由于第二层目录的动态性,所以必须动态获取root/下的目录清单。


小弟ksh很菜,不知道这东东该怎么整。跪求,可参考的脚本,万分感谢!

论坛徽章:
12
技术图书徽章
日期:2014-07-11 16:27:5215-16赛季CBA联赛之山西
日期:2016-01-08 16:10:11操作系统版块每日发帖之星
日期:2015-08-01 06:20:002015亚冠之武里南联
日期:2015-06-11 01:12:162015年亚洲杯之阿联酋
日期:2015-03-20 11:41:462015年亚洲杯纪念徽章
日期:2015-03-18 18:08:422015年辞旧岁徽章
日期:2015-03-03 16:54:15丑牛
日期:2015-01-10 22:23:32天秤座
日期:2014-08-20 15:53:35水瓶座
日期:2014-08-11 12:08:51午马
日期:2014-07-23 23:03:38IT运维版块每日发帖之星
日期:2016-02-18 06:20:00
2 [报告]
发表于 2014-07-09 13:26 |只看该作者
本帖最后由 phanx 于 2014-07-09 13:32 编辑

回复 1# callMeLazy
  1. /usr/bin/ls -1d /*/* | /usr/bin/grep "\.log$" | /usr/bin/cut -c 2- | /usr/bin/awk -F'/' '{ s=sprintf("cd /%s; tar -cf /%s.tar %s", $1, $1, $2); system(s)}'
复制代码
这个只支持目录下只有一个log文件哦,有多个的话只有最后一个.log能打包。

如果你是用于生产环境,那么请在你的脚本里面留下一行
  1. #(C)Copyright by phanx 2014
复制代码

评分

参与人数 1可用积分 +10 信誉积分 +2 收起 理由
hello_unix + 10 + 2 赞一个!

查看全部评分

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP