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 / 问题 / 753599
Accepted
J. Pee
J. Pee
Asked: 2016-02-03 15:37:49 +0800 CST2016-02-03 15:37:49 +0800 CST 2016-02-03 15:37:49 +0800 CST

rsync 同步太多文件

  • 772

我有以下目录结构:

/tmp1
  \_ file1.txt
  \_ file2.txt

/tmp2
  \_ file1.txt
  \_ file2.txt
  \_ file3.txt
/changes

使用 rsync 的 --compare-dest 选项,我想将所有文件同步到 /tmp1 中但 /tmp2 中不存在的 /changes 中。/tmp2 中与 /tmp1 不同的修改文件也应同步到 /changes。

当我执行以下命令时:

rsync -acvu --compare-dest=/tmp1/ /tmp2/ changes

file3.txt 将保存在更改中。而且 file1.txt 虽然两个目录中文件的 md5 总和是相等的!

我错过了 rsync 的一些参数吗?提前致谢!

更新:

我发现不应该同步的文件有文件权限-rw-rw-r--其他人有-rwxrwxr-x。我找不到与 rsync 相关的这种行为。

两个目录上“ls -la”的输出:

# ls -la /tmp1
-rw-rw-r-- 1 1001 1001 4 Dec 31 15:00 file1.txt
-rwxrwxr-x 1 1001 1001 6 Dec 31 15:00 file2.txt

# ls -la /tmp2
-rw-rw-r-- 1 1001 1001 4 Dec 31 19:31 file1.txt
-rwxrwxr-x 1 1001 1001 6 Dec 31 15:00 file2.txt
-rwxrwxr-x 1 1001 1001 2 Dec 31 15:00 file3.txt

# ls -la /changes
-rw-rw-r-- 1 1001 1001 4 Dec 31 19:31 file1.txt
-rwxrwxr-x 1 1001 1001 2 Dec 31 15:00 file3.txt

两个目录中 file1.txt 的 md5sum 相等!

ubuntu
  • 1 1 个回答
  • 177 Views

1 个回答

  • Voted
  1. Best Answer
    MadHatter
    2016-02-04T03:05:15+08:002016-02-04T03:05:15+08:00

    注释man页面_rsync

    从版本 2.6.4 开始,可以提供多个 --compare-dest 目录,这将导致 rsync 以指定的顺序搜索列表以获得精确匹配。 如果找到仅在属性上有所不同的匹配项,则会制作本地副本并更新属性。 如果未找到匹配项,则将选择来自其中一个 DIR 的基础文件以尝试加快传输速度。

    当我读到它时,这意味着如果它找到一个除了源和目标中的属性之外相同的文件,则该文件不会从远程源服务器传输;相反,rsync知道文件是相同的,因此changes/从本地存储复制,但将修改时间设置为远程实例的较新时间戳。

    要确认这一点,请查看以下输出:

    [madhatta@risby test]$ ls -la tmp1
    total 36
    drwxrwxr-x. 2 madhatta madhatta  4096 Feb  3 10:50 .
    drwxrwxr-x. 4 madhatta madhatta  4096 Feb  3 11:01 ..
    -rw-rw-r--. 1 madhatta madhatta 23150 Feb  3 10:59 file1
    -rw-rw-r--. 1 madhatta madhatta   224 Feb  3 10:50 file2
    [madhatta@risby test]$ ls -la tmp2
    total 36
    drwxrwxr-x. 2 madhatta madhatta  4096 Feb  3 10:51 .
    drwxrwxr-x. 4 madhatta madhatta  4096 Feb  3 11:01 ..
    -rw-rw-r--. 1 madhatta madhatta 23150 Feb  3 11:00 file1
    -rw-rw-r--. 1 madhatta madhatta   224 Feb  3 10:50 file2
    -rw-rw-r--. 1 madhatta madhatta     0 Feb  3 10:51 file3.txt
    [madhatta@risby test]$ rsync -acvu --compare-dest=/home/madhatta/tmp/test/tmp1 tmp2/ changes
    sending incremental file list
    created directory changes
    ./
    file1
    file3.txt
    
    sent 215 bytes  received 71 bytes  572.00 bytes/sec
    total size is 23,374  speedup is 81.73
    

    虽然它报告file1已被复制,但接收到的数据量(70 多个字节)不足以复制file1(23kB),无论是否压缩。

    • 1

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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