2012-09-09 44 views
0

我们定期重新启动[R & d Linux和Windows服务器的服务器打补丁和其他额外的维护。服务器上托管着许多不同的服务和开发环境,需要在重新启动服务器之前和之后进行停止/启动。我可以使用puppet在Linux服务器上停止服务吗?

木偶可以用来启动服务,并保证在工作时间(守护进程)中运行的服务。在重新启动服务器之前,我们能否使用Puppet来停止服务?我在考虑单独启动和停止写入清单,禁用启动清单,然后手动应用停止清单。

但是,如果清单中的起始服务不禁止,这是重新启动“资源依赖于正试图停止服务,而守护代理确保保持服务启动。我想知道接下来会发生什么。

有什么想法?

+0

也许我失去了一些东西,但不能你只需要使用傀儡了启动服务,并确保他们保持运行,写一个正常人的init.d脚本(在傀儡外面)在服务器启动时停止服务? – kkeller

+0

二为这意味着理由: 1.一些RPC服务可能需要根据另一个远程服务器,而不是本地主机的关闭对被关闭。 init.d脚本无法正确处理这些情况。 2.由于IT负责重新引导和修补,我们希望确保与开发相关的每项服务在切换到IT之前都能正常关闭。 – imapollo

回答

0

是的,可以。

根据您的配置:

ssh [email protected] "command" 

凡命令可能是::

  1. 如果傀儡发出重启信号,您可以通过SSH做重启这种方式之前执行命令

    service your_service stop 
    
    1. if木偶不知道机器何时要重新启动/关闭,您可以添加一个挂钩以便在关闭时执行脚本(以停止服务)。
+0

谢谢rmunoz。我们知道机器什么时候会重启,所以我们可以使用第一个选项。 但是,如果“重新启动”的资源依赖于尝试停止服务,而守护进程代理正在确保服务启动。我想知道接下来会发生什么。 – imapollo

0

我的建议是引进仪器(除了配置管理)。看看MCollective [1]和Nanite [2]。两者都允许您编写自定义代理来执行自定义操作。 MCollective具有与Puppet紧密集成的优势。你可以用它来编写自定义代理作为你的部署工作流的一部分,这将停止服务等。无论如何,看看它是否会对你有任何用处。

  1. http://puppetlabs.com/mcollective/introduction/
  2. https://github.com/ezmobius/nanite
相关问题