免费注册 查看新帖 |

Chinaunix

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

求助关于备份的脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-11 10:22 |只看该作者 |倒序浏览
目录结构如下:
xmlrepository/
|-- collect
|   |-- file
|   |   |-- 20101101
|   |   |-- 20101102
|   |   `-- 20101103
|   |-- request
|   |   |-- 20101101
|   |   |-- 20101102
|   |   `-- 20101103
|   `-- response
|       |-- 20101101
|       |-- 20101102
|       `-- 20101103
`-- dispatch
    |-- file
    |   |-- 20101101
    |   |-- 20101102
    |   `-- 20101103
    |-- request
    |   |-- 20101101
    |   |-- 20101102
    |   `-- 20101103
    `-- response
        |-- 20101101
        |-- 20101102
        `-- 20101103

要将xmlrepository下目录名为一个月之前的目录,保持目录结构的备份到xmlbak目录下,然后再将相同月份的文件夹打包至每一级目录下
这脚本要怎么写?

论坛徽章:
0
2 [报告]
发表于 2011-11-11 10:46 |只看该作者
#!bash
A=`date -d '-1 year' +%Y%m`
tar c $(find /xmlrepository -type d -name "$A*") | tar x -C /xmlbak/
rm -rf $(find /xmlrepository -type d -name "$A*")

这是我写了一半的,现在能把/xmlrepository目录保持目录结构的备份到/xmlbak/下面,但是在每一级目录下按月份打包怎么做?

论坛徽章:
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
3 [报告]
发表于 2011-11-11 14:07 |只看该作者
  1. find /xmlrepository -type d -name "$A*" -exec tar cvf {}.tar {} \;
复制代码

论坛徽章:
0
4 [报告]
发表于 2011-11-14 10:23 |只看该作者
如果我这个目录下不止20101101这些目录,还有20101001、20100901等等类似的目录,我怎么做一个循环把他们全都处理了?谢谢

论坛徽章:
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
5 [报告]
发表于 2011-11-14 13:14 |只看该作者
本帖最后由 rdcwayx 于 2011-11-14 13:16 编辑

for example, tar the folder old than one year
  1. A=`date -d '-1 year' +%Y%m%d`
  2. find /xmlrepository -type d |awk -F \/ -v expired=$A '$NF<=expired' |xargs -i tar cvf {}.tar {}
复制代码

论坛徽章:
0
6 [报告]
发表于 2011-11-14 16:41 |只看该作者
非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP