AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 43432
Accepted
Jon Topper
Jon Topper
Asked: 2009-07-22 01:38:26 +0800 CST2009-07-22 01:38:26 +0800 CST 2009-07-22 01:38:26 +0800 CST

rsync --files-from 等效

  • 772

我正在尝试从运行旧版本 rsync 的服务器备份一些东西 - 由于各种原因,我不能只升级软件。

通常,我会使用 --files-from 并给出要备份的文件和目录的列表,但是这个版本的 rsync 没有那个开关。有没有办法与其他开关一起使旧的 rsync 以相同的方式运行?

我尝试了 --include-from= --exclude=* 的组合,但这看起来不够递归(例如,/etc/* 只备份直接在 /etc 下的东西)。

rsync
  • 3 3 个回答
  • 2050 Views

3 个回答

  • Voted
  1. Best Answer
    David Pashley
    2009-07-22T02:28:03+08:002009-07-22T02:28:03+08:00

    我怀疑 xargs 在这种情况下是你的朋友。

    完全未经测试:

     # cat file | xargs -IREPLACE rsync -v REPLACE server:/path
    

    xargs 将从标准输入获取数据并将其添加到命令行,每个输入行一个参数,直到它填满命令行长度,然后运行一个单独的命令,直到所有输入行都用完。这意味着 rsync 可以运行不止一次。在这种情况下,这应该不是问题,但可能与其他命令有关。

    通常 xargs 只是将参数粘贴在行尾,但是使用 rsync 您希望将目标放在最后,因此我们使用 -I 选项将字符串替换为参数。(这是未经测试的位)。我也有点不确定 rsync 会对路径做什么,所以请在愤怒使用它之前仔细测试一下。

    如果您确实对 xargs 有疑问,您可以使用类似的方法:

    for i in $(cat file); do rsync -v $i server:/path; done
    

    如果您的文件较大,您可能希望使用 while/read 循环。这会慢得多,因为它一次只处理一个文件。

    • 3
  2. womble
    2009-07-22T01:57:04+08:002009-07-22T01:57:04+08:00

    如果您的包含/排除没有递归,也许您没有指定-r?如果您习惯使用,--files-from那么您可能已经摆脱了这种习惯。

    除此之外,给出您正在使用的确切命令可能会有所帮助。 include-from/exclude-from对我来说绝对递归。

    • 0
  3. JacobN
    2012-08-02T13:50:16+08:002012-08-02T13:50:16+08:00

    当单独的 rsync 不想放置好的时候,我以前不得不在某些服务器上使用过愚蠢的废话解决方案。使用 tar 只抓取你想要的文件:

    cat INCLUDES
    /home/user/index.htm
    /home/user/robots.txt
    
    tar cf INCLUDES.tar INCLUDES
    for file in `cat INCLUDES`; do tar -r --file=INCLUDES.tar $file; done
    
    rsync -avzP INCLUDES.tar user@remoteHost.com:./remote_path
    
    --- Now on remote server
    
    mkdir INCLUDES
    tar xf INCLUDES.tar -C ./INCLUDES
    rsync -avzP INCLUDES/home/user/ /home/user/
    
    • 0

相关问题

  • 强制 rsync 进入非交互模式

  • 比较(diff)完整目录结构的最佳方法?

  • 如何使用 rsync 保持完整路径?

  • Rsyncing到USB驱动器时不时地失败

  • 使用 rsync 维护名称更改的目录的副本

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve