安装和升级 > 高级部署注意事项 > 网络配置 > rsync 说明
  
rsync 说明
rsync 工具是一种开源工具,可实现快速增量文件传输。以下网站提供了有关 rsync 工具的详细信息:
http://rsync.samba.org/
默认情况下,rsync 适用于大多数 UNIX 分布。在 PTC 支持的所有 UNIX 操作系统的各种预编译软件 Internet 存档中,也可以找到它。如果 rsync 不可用,则可以通过其他方法复制系统。
以下是有关在复制适用于大多数工具的 Windchill 系统时所维护内容的可选规则:
Windchill 应用程序配合使用的 HTTP ServerEmbedded Servlet Engine 软件可通过将包含各应用程序的整个目录结构复制或同步到目标计算机来进行重定位。在 Windows 上,不会自动创建任何开始菜单条目,但可以手动创建。为 HTTP ServerEmbedded Servlet EngineWindchill 创建的任何 Microsoft Windows 服务都需要手动重新构建。在 UNIX 上,用于启动和停止各种不同 Windchill 组件的 rc 脚本可位于安装目录外层的目录下。例如,这些脚本可位于各种 /etc 目录下。这些文件还必须手动连带复制和维护。
应保留各种 Windchill 文件的时间戳。大多数备份工具和存档工具 (如 zip、tar 和 rar) 都具有保留文件时间戳的功能。有关用于复制系统的工具的详细信息,请参阅以下网站中的 rsync 文档:
http://rsync.samba.org/documentation.html
rsync 使用自有协议在 rsync 客户端与 rsync 服务器之间进行通信。将 rsync 客户端连接到 rsync 服务器的两种主要方法如下:
第一种方法在 rsync 手册页中称为“通过远程 shell 连接使用 rsync daemon 特性”(USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION),可在以下网站中找到:
http://rsync.samba.org/ftp/rsync/rsync.html
第二种方法被称为“启动 rsync daemon 以接受连接请求”(STARTING AN RSYNC DAEMON TO ACCEPT CONNECTIONS)。
使用远程 shell 连接连接到 rsync daemon
* 
在 Windows 系统上通常不启用远程 shell 访问;因此,此方法通常仅适用于 UNIX 和 Linux 系统。
rsync 客户端可通过远程 shell 连接远程启动 rsync 服务器。对于大多数一次性使用,这是最简单的方法,原因如下:
该方法不需要配置 rsync 服务器配置文件。
该方法不需要在源系统上手动启动服务器,因为 rsync 客户端会自动启动服务器。
以远程方式启动 rsync 服务器时,要求服务器具有可用的远程 shell。支持 rsync 的远程 shell 为 rsh 和 ssh。要使用此方法,请与 UNIX 系统管理员确认是否有可用的远程 shell (如 rsh 或 ssh)。
使用以下命令格式在目标系统上运行,以将源系统同步到目标系统:
rsync -av -e [ssh or rsh] [user]@[sourcesystemhostname]:[absolute path to
application]/][target path to application]
例如,假定您正在名为 windchillserver 的目标系统上使用 ssh,而拥有这些文件的用户是 wcadmin。然后输入以下命令:
rsync -av -e ssh wcadmin@windchillserver:/source/windchill/ /destination/windchill
此命令在 Windchill 服务器上以用户 wcadmin 的身份通过 ssh 实现连接,并启动 rsync 服务器。客户端将 /location/to/windchill 同步到目标系统上的本地目录 /location/to/windchill。如果使用的是 rsh,请将 -e ssh 替换为 -e rsh
推荐选项 -av 可启用存档模式并开启某些详细级别。存档模式会以递归方式复制 /location/to/windchill 下的文件中的所有目录,并保留符号链接、时间戳、文件权限、文件所有权以及任何特殊 UNIX 文件类型。
如果 /location/to/windchill 存在,且包含源系统中当前不存在的文件,则可添加 -delete 自变量来删除这些文件。使用 -delete 自变量会导致目标目录内容与源内容相同。
手动连接到 rsync daemon 以接受连接
在远程 shell 功能不可用或需要从单个源系统远程同步多台计算机的情况下,rsync daemon (rsyncd) 可作为更有效的解决方案。这是 Windows 上的情况,通常不会启用远程 shell 访问。
以下是服务器上 rsyncd.conf 文件的示例:
use chroot = no
[windchill]
path=/location/to/windchill
comment= Windchill application
rsyncd.conf 文件定义了一个 [Windchill] 模块,其位置为 /location/to/windchill
仅当将 rsync daemon 作为非 root 用户运行时,才需要使用 use chroot = no 指令。
可使用以下命令启动 rsync daemon:
rsync --daemon --config=[path to rsyncd.conf file]
默认情况下,rsync 端口为 873。绑定到此端口需要 root 权限。对于非 root 绑定,请包括以下项:
--port=[some port higher than 1024]
有关 rsync daemon 配置的详细信息,请参阅以下网站中的 rsyncd.conf 手册页:
http://rsync.samba.org/ftp/rsync/rsyncd.conf.html
启动 rsync daemon 后,rsync 客户端可用于直接连接到该监控程序,以执行同步。请使用以下命令格式进行同步:
rsync -av rsync://[source system]:[rsync daemon port]/[rsync module] /location/to/windchill
例如,假定 rsync daemon 是使用在 windchillserver 上运行的示例 rsyncd.conf 文件配置的。然后输入以下命令:
rsync -av rsync://windchillserver:873/windchill /location/to/windchill
如果在默认端口上运行 rsync daemon,则可以略过端口部分 (:873)。
rsync 文档中记录了其他 rsync 命令选项和 rsync daemon 配置文件参数。您可以在以下网站中找到 rsync 文档:
http://samba.anu.edu.au/rsync/documentation.html
如果需要高级 rsync 配置,请参阅 rsync 文档。