我们使用 shell 脚本通过不同的服务器 (DTAP) 部署应用程序。唯一的问题是,当上限更改时,这些不会同步。
例如:
aboutcontroller.php > AboutController.php
我们正在使用以下 rync 命令。
rsync -avz git/folder/ public_html/folder/
有谁知道如何解决这个问题?
我们使用 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 确实考虑到了这一点。但是,如果您今天提供 Foo.h,但您的不区分大小写的文件系统明天将其发送 foo.h(内容不同,您最终会在 Linux 上得到两个文件(foo.h 和 Foo.h),您会感到困惑大家。