AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 423260
Accepted
SamK
SamK
Asked: 2012-09-01 04:29:35 +0800 CST2012-09-01 04:29:35 +0800 CST 2012-09-01 04:29:35 +0800 CST

让傀儡代理重新启动自己

  • 772

我有一个通知傀儡代理的文件。

在该network模块中,代理设置包含在 .gemrc 文件中,如下所示:

file { "/root/.gemrc":
  content => "http_proxy: $http_proxy\n",
  notify => Service['puppet'],
}

问题是人偶停止并且不重新启动。

Aug 31 12:05:13 snch7log01 puppet-agent[1117]: (/Stage[main]/Network/File[/root/.gemrc]/content) content changed '{md5}2b00042f7481c7b056c4b410d28f33cf' to '{md5}60b725f10c9c85c70d97880dfe8191b3'
Aug 31 12:05:13 snch7log01 puppet-agent[1117]: Caught TERM; calling stop

我假设代码做了类似的事情,/etc/init.d/puppet stop && /etc/init.d/puppet start 因为木偶没有运行,它不能自己启动……这是有道理的。

当此文件更改时,如何使人偶重新启动?请注意,此文件可能也不存在。

linux
  • 3 3 个回答
  • 4176 Views

3 个回答

  • Voted
  1. Best Answer
    Cakemox
    2012-09-01T05:03:26+08:002012-09-01T05:03:26+08:00

    您可能需要添加到“puppet”的服务资源声明中:

    hasrestart => true,
    
    • 4
  2. Rilindo
    2012-09-23T11:43:35+08:002012-09-23T11:43:35+08:00

    除了确保“hasrestart”在清单中之外,您还应该确保

    "ensure => running"
    

    在清单中。这是我的副本:

    class puppet::service {
      service { puppet:
        ensure => running,
        enable  => true,
        hasrestart => true,
        subscribe => File["/etc/puppet/puppet.conf"],
      }     
    }
    
    • 1
  3. Don Law
    2013-12-18T12:30:30+08:002013-12-18T12:30:30+08:00

    我有一个类似的问题。我需要将修复程序部署到 augeas,并使用 puppet 来部署它们,但是直到 puppetd ​​重新启动它们才会生效。所以我需要一种快速简便的方法来告诉 puppetd ​​重新启动一次。我用 shell 脚本和 exec 解决了这个问题。

    这是脚本:

    #!/bin/bash
    if [ X"$1" != Xbackground ]; then
        OUTDIR=/var/log/puppet
        mkdir -p $OUTDIR
        nohup $0 background > $OUTDIR/puppet_restart.out 2>&1 < /dev/null &
        exit 0
    fi
    
    #  If you get here, this is a background copy of this script that has
    #  been decoupled from puppet by the nohup above.  Give puppet a chance
    #  to finish what it is doing, then restart it.
    
    sleep 60
    
    /sbin/service puppet restart
    

    运行脚本的清单使用它创建的日志文件。(这第一次工作正常 - 如果您进行后续更新,请制作一个将删除日志文件的清单,以便再次运行一次):

    file { "/usr/local/bin/puppet_restart":
        owner => root,
        group => root,
        mode  => 750,
        source => "puppet:///modules/puppet_fix_module/puppet_restart"
    }
    
    exec { "restart_puppet":
        command => "/usr/local/bin/puppet_restart",
        path    => ["/usr/bin", "/usr/sbin", "/bin"],
        creates => "/var/log/puppet/puppet_restart.out",
        require => [ File['/usr/local/bin/puppet_restart'],
                     File ["/some/other/file/that/requires/restart"],
                   ]
    }
    
    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve