Board logo

标题: [文本处理] 使用rsync进行同步如何获取指定目标目录下多个子文件的名称或路径 [打印本页]

作者: chulian    时间: 2016-10-13 18:51     标题: 使用rsync进行同步如何获取指定目标目录下多个子文件的名称或路径

本帖最后由 pcl_test 于 2016-10-13 19:32 编辑

请教大神一个rsync同步的问题
每台服务器D盘根目录下有几个相同结构的应用目录,如D:\APP1、D:\APP2、D:\APP3,这些文件夹前面的APP是固定,后面的数字定期会变化。
用rsync从服务端同步文件到这些APP目录中,制作的bat脚本以rsync://ip/file /cygdrive/D/APP*这样的形式无法识别到目录
只能通过以下的方式,APP后面的数字变化之后,手动修改脚本里的名称,
rsync://ip/file /cygdrive/D/APP1
rsync://ip/file /cygdrive/D/APP2
rsync://ip/file /cygdrive/D/APP3

不知道可不可以实现这样效果的rsync://ip/file /cygdrive/D/APP*,APP后面的数字变化后不需要手动去修改,可以直接认到
作者: Bella    时间: 2016-10-13 19:52

本帖最后由 Bella 于 2016-10-13 21:33 编辑

写个循环用dir把app*扩展出来, 分别执行
  1. rsync src dest
复制代码
我理解的是你想这么写
  1. rsync src dest*
复制代码
测试了一下, cmd和rsync都不会扩展通配符
bash会扩展通配符, 但是这里只保留最后一个文件夹
作者: chulian    时间: 2016-10-14 00:19

本帖最后由 chulian 于 2016-10-14 00:33 编辑

回复 2# Bella

rsync src dest*
谢谢~确实是想这样的,就是有多个相同名称前缀的目录,前缀后面的数字可能会随时变化,比如当前路径下三个目录dest1、dest2、dest3,过了一段时间目录名称变成了dest1x、dest2x、dest3x。
就是想rsync  src dest* ,能识别到当前路径下dest开头的三个文件夹,把文件到同步这三个目录中。这样即使dest目录后缀的数字变化了,也不需要去修改rsync同步脚本里的目录名称。
(现在是rsync同步脚本里手动指定的具体目录名称,一旦后缀名称变化,就需要修改)
作者: pcl_test    时间: 2016-10-14 00:38

  1. @echo off
  2. for /d %%a in (D:\APP*) do set "fd=%%a"&call echo;rsync://ip/file /cygdrive/%%fd::\=/%%
  3. pause
复制代码

作者: chulian    时间: 2016-10-14 01:28

本帖最后由 chulian 于 2016-10-14 01:44 编辑

回复 4# pcl_test

[attach]10175[/attach]
多谢版主大神!!!可以显示具体目录了,不过rsync同步并没有执行,可能是哪里的问题呀
作者: pcl_test    时间: 2016-10-14 01:36

回复 5# chulian

echo的作用是什么
举个栗子,查看系统版本
ver
echo;ver
pause
作者: chulian    时间: 2016-10-14 01:43

回复 6# pcl_test


   不好意思,这个了解。。屏幕太小了,刚才没注意,太谢谢您了!!!
作者: chulian    时间: 2016-10-14 01:52

回复 6# pcl_test
这么晚还回复帮我解决了这个问题,真的是太感激您了!!!版主早点休息~




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2