我们正在实施将所有服务器异地备份到远程 Linux 服务器的过程。我们通过rsync
SSH 进行备份。我发现 Linux 服务器上的 ñ、ö、ô 和 ã 等字符被下划线替换。我不介意它在文档的文件名中更改这些字符,但当它将语言包从 重命名为 时Español.clx
,Espa_ol.clx
可能会给我们带来后续问题。
我当前的命令行是:
rsync -v -rlt -z --chmod=a=rw,Da+x -u --delete -e "ssh -i <keyfile>" <source> <destination>
我需要做些什么才能使特殊字符正确复制?
编辑:对于将在本地进行的初始同步,在将机器移出现场之前,我已启用 SAMBA。我能够将文件从 Windows 复制到 Samba 共享,保留原始文件名,尽管它在 Linux 目录列表中看起来有所不同,即têst
变成têst
。这些文件在 rsync 运行时会被删除,因为它与文件名不匹配。
答案1
添加参数
--iconv=ISO-8859-1,utf-8
看来问题已经解决了。
答案2
我使用通过 安装的 cygwin 的 rsync 3.1.2 来处理带有奇怪字符的文件setup-x86_64.exe
,而不是使用 DeltaCopy 的 rsync,因为 DeltaCopy 的 rsync 似乎使用了过时的cygwin1.dll
。