Rsync 创建 \#015 目录

Rsync 创建 \#015 目录

我的 Windows 服务器上运行着一个虚拟 ubuntu 服务器。该服务器连接了 2 个外部硬盘,安装在 ubuntu 上。

现在我尝试运行 rsync 来同步我的桌面和 Windows 服务器上的目录。

我这样做如下:

rsync -av --update [email protected]:/home/seagate/Syncfolder/Pictures/ /syncs/pictures

/syncs/pictures的符号链接/cygdrive/c/../pictures。所有这些符号链接均正常工作,并且远程目录也存在。

现在,当我运行上述 rsync 命令时,它会执行以下操作:

created directory /syncs/pictures\#015

这实际上会在我的 /syncs/ 文件夹中创建一个名为“pictures”的目录。因此不在符号链接中。在符号链接旁边:

$ ls
pictures pictures?

当我在目标位置添加尾部斜杠时:

rsync -av --update [email protected]:/home/seagate/Syncfolder/Pictures/ /syncs/pictures/

它在我的塔上的实际图片文件夹中创建一个名为“#015”(奇怪的点)的目录!

我认为这与编码有关?

我使用 notepad++ 编写了所有 bash 脚本并将其编码为 ANSI。

答案1

这里的根本问题(至少就我而言)是,所讨论的文件在脚本文件末尾有 CR+LF 字符的 Windows 约定,而不是仅使用 LF 的 *nix 约定。要解决此问题,您需要更改脚本文件本身,使其遵循 *nix 约定。上面的答案提出了几种很好的方法。一些编辑器(例如 Notepad++)内置了类似的功能。

答案2

我通过运行解决了这个问题dos2unix在 Windows 上,所有脚本文件均如此。在 Linux 上也可以这样做。

相关内容