【问题标题】:rsync does not sync uppercase/ lowercase in filenames. How can I make it sync caps?rsync 不同步文件名中的大写/小写。我怎样才能让它同步大写?
【发布时间】:2013-04-11 09:51:37
【问题描述】:

我们使用 shell 脚本通过不同的服务器 (DTAP) 部署应用程序。唯一的问题是,当上限更改时,这些不会同步。

例如:

aboutcontroller.php > AboutController.php

我们正在使用以下 rync 命令。

rsync -avz git/folder/ public_html/folder/

有人知道如何解决这个问题吗?

【问题讨论】:

  • 您的意思是该文件删除了大写,还是不匹配名称仅大小写不同的文件?
  • 这听起来更像是文件系统问题而不是 rsync 问题。源代码是否在 Mac 上?

标签: linux bash shell rsync web-deployment


【解决方案1】:

问题不大可能是rsync 本身,而是源文件系统或目标文件系统(或两者)不区分大小写。当rsync 说“给我文件foo 的内容”时,文件系统用FOO 的内容来响应,因为无论出于何种原因,它认为不区分大小写是一件“好事”,没有太多rsync 可以完成“正确的事情”。这将是 Windows 和 Mac 平台使用的常见文件系统的一个问题,但在 Unix/Linux 上不是那么大(除了它们也支持 Windows/Mac 文件系统)。

【讨论】:

  • 我们在 windows 上开发 > 提交到 git > 在 Centos 上部署。我认为 Linux 区分大小写会考虑到这一点。
  • 自我注意:如果我想从我的 ext4 服务器同步我的照片,我的带有 APFS 的 USB 驱动器分区需要更改为 APFS 区分大小写。
【解决方案2】:

Linux 确实考虑到了这一点。但是,如果您今天提供 Foo.h,然后您的不区分大小写的文件系统明天将其发送 foo.h(内容不同,您最终会在 Linux 上得到两个文件(foo.h 和 Foo.h),您会感到困惑大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2021-07-06
    • 1970-01-01
    • 2019-07-28
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多