免费注册 查看新帖 |

Chinaunix

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

[文件目录] 请教一个关于根据目录循环打包的问题 [复制链接]

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-01 13:29 |只看该作者 |正序浏览
本帖最后由 supcat 于 2012-08-01 13:44 编辑

      我想写个脚本根据目录来打包文件,以前是用for host in $( cat /tmp/host.txt) 来实现的,但是每次有变动时,比如增加网站时又需要手动添加,及其不方便而且由于管理的比较多,经常忘记添加,想到先用find ./*/ -mtime -1 >>host.txt,但是这样也有问题,host.txt里变成./xxx.com/ 有时候目录时间更改了,而里面内容却没,又会追加记录。希望可以指点一二,有没有更好的办法来实现呢。

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
14 [报告]
发表于 2012-08-07 11:17 |只看该作者
回复 13# winway1988


    非常感谢!

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
13 [报告]
发表于 2012-08-07 11:11 |只看该作者
  1. find . -maxdepth 1 -type d \( ! -name 'except1' -a ! -name 'except2' \) -exec tar zcvf /newdir/'{}'.tar.gz '{}' \;
复制代码

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
12 [报告]
发表于 2012-08-07 11:10 |只看该作者
回复 10# rdcwayx


    刚测试发现个小问题,egrep -v "KEY1|KEY2|KEY3" 最好加个-x 参数,要不会屏蔽其他的文件夹,比如 屏蔽abc.com这个目录 如果目录下有bbs.abc.com这个就也会被屏蔽了。

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
11 [报告]
发表于 2012-08-07 10:53 |只看该作者
回复 10# rdcwayx


    嗯嗯,这样就可以了,非常感谢!

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
10 [报告]
发表于 2012-08-07 09:20 |只看该作者
因为你一开始的要求都是针对目录名的, 现成的代码可以改成

cd /home/wwwroot
find . -maxdepth 1 -type d |awk -F \/ 'NF>1{print $2}' |egrep -v "KEY1|KEY2|KEY3" | while read folder
do
  tar cvf - "$folder" |gzip > /new_folder/$folder.tar.gz
done

如果要剔除文件名的话,要重新写代码了。 这个你需要给出更详细的要求。

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
9 [报告]
发表于 2012-08-06 14:46 |只看该作者
回复 4# rdcwayx


    不知道用这个方法可不可以排除掉指定的目录或文件呢。

论坛徽章:
0
8 [报告]
发表于 2012-08-02 11:56 |只看该作者
回复 7# rdcwayx
考虑不周,后果很严重!谢谢指导


   

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
7 [报告]
发表于 2012-08-02 07:52 |只看该作者
cao_doctor 发表于 2012-08-01 17:14
感觉米有必要这么麻烦 ls -l过滤也可以的
cd  /home/wwwroot
ls -l|grep ^d|awk '{print $9}'|while read ...


目录名带空格的话,就要出错了。

论坛徽章:
0
6 [报告]
发表于 2012-08-01 17:14 |只看该作者
感觉米有必要这么麻烦 ls -l过滤也可以的
cd  /home/wwwroot
ls -l|grep ^d|awk '{print $9}'|while read a
do
tar czvf /newfile/$a.tar.gz $a
done
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP