如何编程puppet仅在tarball不同的情况下提取tarball
我想用木偶来做这个:如何编程puppet仅在tarball不同的情况下提取tarball,puppet,Puppet,我想用木偶来做这个: 第一次运行傀儡,提取tarball的内容(存储在某个服务器上) 后续木偶运行时,仅当tarball与先前运行不同时才提取tarball的内容 关于如何在Puppet中实现这一点,有什么建议吗?我正在努力解决如何在Puppet中使用“onlyif”子句来实现这一点。您只需运行一次Puppet,就可以通过以下方式实现: $filename = 'somefile' $path = '/somepath' file { 'filename': ensure => fil
关于如何在Puppet中实现这一点,有什么建议吗?我正在努力解决如何在Puppet中使用“onlyif”子句来实现这一点。您只需运行一次Puppet,就可以通过以下方式实现:
$filename = 'somefile'
$path = '/somepath'
file { 'filename':
ensure => file,
source => 'file:/<SOMEPATH>/<SOMEFILE>',
path => "${path}/${filename}",
notify => Exec['extract tar'],
}
exec { 'extract tar':
refreshonly => true,
command => "tar --overwrite -xf ${filename}",
path => '/bin',
cwd => $path,
}
$filename='somefile'
$path='/somepath'
文件{'filename':
确保=>文件,
source=>'文件://',
path=>“${path}/${filename}”,
notify=>Exec['extract tar'],
}
执行{“提取焦油”:
refreshonly=>true,
command=>“tar--overwrite-xf${filename}”,
路径=>'/bin',
cwd=>$path,
}
但我认为使用puppet/archive模块会是一个更干净的解决方案。使用或不使用
归档
模块?理想情况下,您是从主机上交付这个tarball还是它已经在那里了?它已经在那里了,我不需要主机推动它不是每次运行,无论tar是否更新?否。当refreshonly设置为true时,exec仅在从其他资源收到通知时才会运行。文件资源仅在对系统进行更改时发送通知,即当文件更改时。