Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux rsync不同步文件名中的大小写。我怎样才能使它同步?_Linux_Bash_Shell_Rsync_Web Deployment - Fatal编程技术网

Linux rsync不同步文件名中的大小写。我怎样才能使它同步?

Linux rsync不同步文件名中的大小写。我怎样才能使它同步?,linux,bash,shell,rsync,web-deployment,Linux,Bash,Shell,Rsync,Web Deployment,我们使用shell脚本通过不同的服务器(DTAP)部署应用程序。唯一的问题是,当更改封顶时,这些封顶不会同步 例如: aboutcontroller.php>aboutcontroller.php 我们正在使用以下rync命令 rsync -avz git/folder/ public_html/folder/ 有人知道如何解决这个问题吗?问题不太可能是rsync本身,而是源文件系统或目标文件系统(或两者)的大小写不敏感。当rsync说“给我文件foo的内容”时,文件系统会以foo的内容作为响

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

例如:

aboutcontroller.php>aboutcontroller.php

我们正在使用以下rync命令

rsync -avz git/folder/ public_html/folder/

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

问题不太可能是rsync本身,而是源文件系统或目标文件系统(或两者)的大小写不敏感。当
rsync
说“给我文件
foo
的内容”时,文件系统会以
foo
的内容作为响应,因为不管出于什么原因,它都认为不区分大小写是一件“好事”,因此
rsync
无法完成“正确的事情”。这在Windows和Mac平台使用的通用文件系统上是一个问题,但在Unix/Linux上则不是这样(除非它们也支持Windows/Mac文件系统)。

Linux确实考虑到了这一点。但是,如果您今天将其feed为Foo.h,但是您的不区分大小写的文件系统明天将发送它Foo.h(使用不同的内容,您将得到两个文件(Foo.h和Foo.h)在Linux上,你会把每个人都搞糊涂。

你是说它删除了大写字母的文件,还是说它不匹配名称仅在大写字母上不同的文件?这听起来更像是文件系统问题,而不是rsync问题。源代码可能在Mac上吗?我们正在windows上开发>提交到git>在Cento上部署s、 我认为Linux是区分大小写的,应该考虑到这一点。