免费注册 查看新帖 |

Chinaunix

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

rsync如何同步一段时间的文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-08 09:34 |只看该作者 |倒序浏览
本帖最后由 bgp6_cu 于 2010-04-08 09:52 编辑

文件类型是
access.log.2010-03-09.txt
access.log.2010-03-10.txt
access.log.2010-03-11.txt
access.log.2010-03-12.txt
access.log.2010-03-13.txt
access.log.2010-03-14.txt
access.log.2010-03-15.txt
access.log.2010-03-16.txt
access.log.2010-03-17.txt
access.log.2010-03-18.txt
access.log.2010-03-19.txt
access.log.2010-03-20.txt
access.log.2010-03-21.txt
access.log.2010-03-22.txt
access.log.2010-03-23.txt
access.log.2010-03-24.txt
access.log.2010-03-25.txt
access.log.2010-03-26.txt
access.log.2010-03-27.txt
access.log.2010-03-28.txt
access.log.2010-03-29.txt
access.log.2010-03-30.txt
access.log.2010-03-31.txt
access.log.2010-04-01.txt
access.log.2010-04-02.txt
access.log.2010-04-03.txt
access.log.2010-04-04.txt
access.log.2010-04-05.txt
access.log.2010-04-06.txt
access.log.2010-04-07.txt
access.log.2010-04-08.txt

现在是要同步2010-04-07,2010-04-06,2010-04-05,2010-04-04,2010-04-03,2010-04-02,2010-04-01这几天的文件,也就是同步昨天算起(包含昨天)连续前7天的文件
我现在用的rsync脚本是


/usr/bin/rsync --progress $1 -avL --delete-after  \
        --port=$rsync_port \
        --timeout=$timeout \
        --include="access.log*." \
        root@${host}:{name}  $local_dir > $log_file  2>&1


怎么修改脚本达到上述目的?谢谢各位前辈

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
2 [报告]
发表于 2010-04-08 09:47 |只看该作者
远程同步到本地?

论坛徽章:
0
3 [报告]
发表于 2010-04-08 09:49 |只看该作者
本帖最后由 bgp6_cu 于 2010-04-08 09:59 编辑

是的,远程同步到本地,不知道怎么改现在的脚本,另外写一个也行,关键是文件名会根据日期不断变更

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
4 [报告]
发表于 2010-04-08 10:06 |只看该作者
回复 3# bgp6_cu


    其它文件如何处理?这些你并没有说清楚。

论坛徽章:
0
5 [报告]
发表于 2010-04-08 10:23 |只看该作者
回复  bgp6_cu


    其它文件如何处理?这些你并没有说清楚。
blackold 发表于 2010-04-08 10:06



   


其他文件不处理也就是不同步

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
6 [报告]
发表于 2010-04-08 11:10 |只看该作者
回复 5# bgp6_cu


    生成文件列表,再rsync。

论坛徽章:
0
7 [报告]
发表于 2010-04-08 14:39 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2010-04-08 15:49 |只看该作者

  1. for i in {7..1}
  2. do
  3.    file=$(date -d "-$i days" +"access.log.%Y-%m-%d.txt")
  4.    /usr/bin/rsync --progress $1 -avL --delete-after  \
  5.         --port=$rsync_port \
  6.         --timeout=$timeout \
  7.         root@${host}::${name}/${file}  $local_dir >> $log_file  2>&1
  8. done

  9. 思路是用一个循环来执行,每次同步一个文件,文件名是通过当前日期来获取
  10. date -d "-$i days" +"access.log.%Y-%m-%d.txt" 会依据i的值,来生成i天前的文件名
复制代码

论坛徽章:
0
9 [报告]
发表于 2010-04-09 15:40 |只看该作者
非常感谢,我去试试,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP