Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Puppet 当文件内容没有变化时跳过木偶函数_Puppet - Fatal编程技术网

Puppet 当文件内容没有变化时跳过木偶函数

Puppet 当文件内容没有变化时跳过木偶函数,puppet,Puppet,当文件内容没有变化时,我想跳过某些exec和文件资源。它的工作文件和服务的组合。。。 比如说, file { 'configfile.cfg': ensure => file, path => '/etc/configfile.cfg', mode => '0644', owner => 'root', group => 'root', content => template($templa

当文件内容没有变化时,我想跳过某些exec和文件资源。它的工作文件和服务的组合。。。 比如说,

file { 'configfile.cfg':
    ensure  => file,
    path    => '/etc/configfile.cfg',
    mode    => '0644',
    owner   => 'root',
    group   => 'root',
    content => template($template_file),
    require => Package[$main_package],
    notify  => Service[$service],

  }

  service { $service:
    ensure     => $ensure,
    enable     => $enable,
    hasrestart => true,
    hasstatus  => true,
    require    => [ Package[$main_package], File['configfile.cfg'] ],

  }
上述代码按预期工作。只有在/etc/configfile.cfg.中检测到任何更改时,服务才会重新启动

但是对于文件和exec的组合,我遵循相同的方法,但它不起作用。。。。请参阅下面的代码

exec { 'purge-config-files':
      before => [File["${config_file_service}"], File["${config_file_host}"]],
      command => "/bin/rm -f ${baseconfigdir}/*",
      notify => Domain_ip_map[$domain_ip_map_titles],
}

file { 'deployconfig.cfg':
            ensure  => file,
            path    => '/home/path/deployconfig.cfg',
            mode    => '0644',
            owner   => 'root',
            group   => 'root',
            content => "test",
            notify  => Exec['purge-config-files'],
}
此代码未按预期工作。即使价格没有变化 /home/path/deployconfig.cfg,Exec['purge-config-files']始终为 执行。。。这可能是什么原因

我找到了答案

 exec { 'purge-config-files':
      before => [File["${config_file_service}"], File["${config_file_host}"]],
      command => "/bin/rm -f ${baseconfigdir}/*",
      notify => Domain_ip_map[$domain_ip_map_titles],
      subscribe=> File['deployconfig.cfg'],
      refreshonly => true,
}
我忘了把订阅和刷新只