2013-04-11 167 views
0

我们使用shell脚本通过不同的服务器(DTAP)部署应用程序。唯一的问题是,当改变上限时,这些不会同步。rsync在文件名中不同步大写/小写。我怎样才能让它同步上限?

例如:

aboutcontroller.php> AboutController.php

我们使用以下rync命令。

rsync -avz git/folder/ public_html/folder/ 

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

+0

你的意思是这个文件会删除大写,或者你的意思是它不匹配大小写不同的文件? – ams 2013-04-15 15:01:07

+0

这听起来更像是一个文件系统问题,而不是rsync问题。有什么办法吗? – 2013-04-15 15:01:20

回答

2

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

+0

我们正在windows上开发>提交git>在Centos上部署,我认为Linux会区分大小写。 – Kim 2013-04-16 08:27:36

0

Linux确实考虑到了这一点。然而,如果你今天为它提供了Foo.h,但是然后你的不区分大小写的文件系统会在明天发送foo.h(使用不同的内容,你最终会在Linux上得到两个文件(foo.h和Foo.h),你会混淆大家