当创build非目录/普通文件时,Puppet为文件资源recursion属性

如果我想要:

file { '/var/shennanigans/happy-hour.drunk': ensure => present, mode => 700, owner => shamus } 

我可以使用recurse => true来确保shennanigans目录是否存在,或者是否需要使用ensure =>目录创build单独的资源?

您需要声明两个文件资源,一个用于目录,一个用于文件,使用依赖关系确保在创build目录之前不会放置文件,如下所示:

 file { '/var/shennanigans': ensure => directory, purge => true, recurse => true, owner => 'seamus', } file { '/var/shennanigans/happy-hour.drunk': ensure => present, mode => 0700, owner => 'seamus', require => File['/var/shennanigans'], } 

请注意, mode参数应该使用四位八进制表示法而不是三位数字 – 请参阅Puppet Type文档 。

顺便说一句,我纠正了你的主人的名字;)