Puppet 对一个目录下的文件批量复制chown/chmod
在puppet中,您可以通过执行以下操作来chown/chmod单个文件:Puppet 对一个目录下的文件批量复制chown/chmod,puppet,Puppet,在puppet中,您可以通过执行以下操作来chown/chmod单个文件: file { '/var/log/mylog/test.log': ensure => 'present', mode => '0644', owner => 'me'; } 关于这一点,有两个问题: 确保=>'present'将确保'/var/log/mylog/test.log'存在,如果它不存在,它将创建它。如果文件存在,我有什么方法可以让它执行操作
file {
'/var/log/mylog/test.log':
ensure => 'present',
mode => '0644',
owner => 'me';
}
关于这一点,有两个问题:
exec
资源和creates
+onlyif
或指令之外,您别无选择。
例如,您可以使用(请参阅)
exec
资源files {
'/var/log/mylog/*.log':
ensure => 'present',
mode => '0644',
owner => 'me';
}
exec { "touch /var/log/mylog/test.log":
path => "/usr/bin:/usr/sbin:/bin",
user => "${yourmodule::params::user}",
group => "${yourmodule::params::group}",
creates => "/var/log/mylog/test.log",
unless => "test -f /var/log/mylog/test.log"
}
file { '/var/log/mylog/test.log':
ensure => 'present',
mode => "${${yourmodule::params::mode}",
owner => "${yourmodule::params::user}",
group => "${yourmodule::params::group}",
require => Exec["touch /var/log/mylog/test.log"]
}