我想创建目录结构,/var/www/apps/example/current/public如果它不存在使用puppet.如果它已经存在,我不想清除目录的内容.我该怎么做呢?以下是我到目前为止:
file { "/var/www/apps/example/current/public":
owner => 'deploy',
group => 'users',
ensure => "directory",
purge => false,
recurse => true
}
Run Code Online (Sandbox Code Playgroud)
这给了我
Cannot create /var/www/apps/example/current/public; parent directory /var/www/apps/example/current does not exist
Run Code Online (Sandbox Code Playgroud)
Fel*_*ank 19
该recurse参数不允许您创建父目录.它用于强制属性值,例如owner,mode在内容目录和子目录递归等.
file { '/var/www':
owner => 'www-data',
recurse => true,
}
Run Code Online (Sandbox Code Playgroud)
事实上,Puppet目前无法自动创建所有父目录.您应该将所有相关目录添加为资源.
file { [ '/var/www/apps',
'/var/www/apps/example',
'/var/www/apps/example/current',
'/var/www/apps/example/current/public', ]:
ensure => directory,
...
}
Run Code Online (Sandbox Code Playgroud)
现有内容将保持不受干扰.无需传递purge参数.
Dom*_*omQ 10
exec { "Create ${mydir}":
creates => $mydir,
command => "mkdir -p ${mydir}",
path => $::path
} -> file { $mydir : }
Run Code Online (Sandbox Code Playgroud)
最后一行是这样的,其他资源(例如,内部创建的文件$mydir)可以依赖于File[$mydir]好像可以使用普通的旧file {}块创建它,它确实应该这样做.
| 归档时间: |
|
| 查看次数: |
22407 次 |
| 最近记录: |