【问题标题】:puppet service resource, enable, init script orderpuppet 服务资源,启用,初始化脚本顺序
【发布时间】:2016-05-28 03:00:33
【问题描述】:

在 puppet 中,如果您启用这样的服务:

service { 'myservice':
    ensure => running,
    enable => true,
    subscribe => File['/etc/init.d/myservice'];
}

file { '/etc/init.d/myservice':
    source => "puppet:///modules/myservice/myservice",
    ensure => file,
    owner => root,
    group => root,
    mode => '0755',
 }

然后 puppet 创建 /etc/rc3.d/S??myservice,在我的例子中,它总是创建 S65myservice。 65从哪里来?如果 puppet 一直选择 65,那么它一定是在某个地方确定的,但我不知道它是如何做出这个决定的。如何在启动过程中稍后启动此服务? (例如S99myservice

【问题讨论】:

  • 这里有一些东西: 1. 未引用的mode 八进制属性是警告或错误,具体取决于您的 Puppet 版本 2. 您打算在 @987654328 中使用 source 而不是 content @ 资源 3. 你可能想要 subscribe 而不是 require 为你的 file 资源 4. 在这里做 ensure => fileensure => present 更安全
  • 我猜你正在使用 Linux 的 EL 发行版。 puppet 没有在操作系统的/etc/rc3.d/ 中创建文件。 rc3 是运行级别 3。enable => true 可能会确保服务在启动时启动,并确保它在运行级别 3(带网络的多用户模式)下启动。所以这不是傀儡的问题,它似乎是操作系统的问题。
  • @MattSchuchard 你的任何言论都与所提出的问题无关。
  • @ptierno 是的,但我不帮助解决他发布的代码中的问题是不负责任的。
  • 感谢 cmets。我已经更新了问题以包含改进,除了:实际上可以使用sourcecontent,具体取决于您所需的行为。

标签: linux puppet runlevel


【解决方案1】:

可以通过在启动脚本中加入chkconfig子句来改变顺序,如:

#!/bin/sh
#
# chkconfig: 35 59 80

上述服务应该在运行级别 3 和 5 使用启动顺序 59 和关闭顺序 80 启动。
http://lpetr.org/blog/archives/startup-order-of-services-on-rhel-or-centos

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多