将Windows服务从一台服务器迁移到另一台服务器的方法

bar*_*nyr 5 windows windows-service

我正在设置一个临时服务器来测试某些关键软件(WebSphere 上的 IBM Rational Team Concert)的升级,我将无法重新安装该应用程序,因为我没有所有信息和配置在原始安装期间使用,因此我的计划是复制必要的文件夹并复制服务。我找不到任何可以让我导出服务定义并将其导入到另一台计算机上的东西。

Websphere 在 HKLM\CurrentControlSet\Services\Websphere 注册表项周围和下方使用了一些额外的键,但在注册表中没有其他任何内容。

我目前的计划是

  • 在目标上使用 sc create (使用相同的服务名称)创建新服务
  • 从源导出 HKLM\CurrentControlSet\Services\Websphere
  • 将上面的注册表项导入到目标中
  • 启动服务

任何人都可以看到这种方法的问题或推荐一个工具来处理这个问题吗?

bar*_*nyr 4

为了将我们的实时 RTC 和 RQM 服务器克隆到临时环境中,我做了以下操作,以防这适用于其他任何人:

  1. 将包含 RTC/RQM/WebSphere 的所有文件夹复制到目标计算机上,保持路径相同。在我们的例子中,这是c:\program files\IBMc:\program files(x86)\IBM

  2. 创建与源计算机上的 WebSphere 服务同名的服务(我们有一项用于 RQM 的服务和一项用于 RTC 的服务。我使用sc create "IBMWAS70Service - SERVERNode01" binpath=c:\path\to\any\exe

  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IBMWAS70Service - SERVERNode01从源机器导出。您需要为您拥有的每项服务执行此操作。

  4. 将这些注册表文件导入到目标机器上

  5. 我们的源服务器已经设置了一个名为 的系统环境变量,ORACLE_JDBC该变量指向包含ojdbc14.jar. 在目标上重新创建此变量。该路径也在系统PATH环境变量中,所以我也将其添加到那里。

  6. 删除c:\windows\temp\_jazz*c:\windows\temp\_.com_ibm*文件夹。

  7. 我们将所有数据库合并到一个具有不同模式的数据库中。当我们尝试启动 RTC 和 RQM 时,这会导致锁定错误。这是由于两个程序共享同一个临时文件夹所致。我编辑了 server.xml(位于\WebSphere\AppServer1\profiles\AppSrv01\config\cells\SERVERNode02Cell\nodes\SERVERNode02\servers\server1)。我将其添加到接近末尾的 java 属性部分server.xml <systemProperties xmi:id="olm_stage1" name="java.io.tmpdir" value="c:/temp" required="false"/>

  8. 编辑c:\windows\system32\drivers\etc\hosts并创建数据库服务器条目(指向临时数据库服务器)以及 rtc 和 rqm 地址(指向临时计算机本身)

  9. 启动服务