Tidy 不能使用带有 recurse 0、false 或 undef 的匹配项
Tidy can’t use matches with recurse 0, false, or undef
我有以下 Puppet 资源。
tidy {
'beat_lock':
age => '8h',
path => '/var/lib/beat/',
alias => 'beat_lock',
matches => 'run.lock',
type => 'mtime'
}
我收到一条错误消息:
Error: Failed to apply catalog: Parameter matches failed on Tidy[filebeat_lock]: Tidy can't use matches with recurse 0, false, or undef
我要清理的实体是文件而不是目录。那么,为什么会出现错误?
The entity I want to cleanup is a file not a directory. So, why is the error showing up?
您告诉 Puppet 您要清理的实体是目录 /var/lib/beat
。这就是 path
参数指定的内容(如果您指定它),或者如果您没有明确指定 path
参数则资源标题指定的内容。同时,您还没有为 recurse
参数提供值,因此资源默认为 non-recursive,就好像您指定了 recurse => false
。在这种情况下使用 matches
没有任何意义,因为您已经准确指定了要管理的文件。
有多种拼写方式,但表达您实际想要的内容的最简单方式是:
tidy { '/var/lib/beat/run.lock':
age => '8h',
type => 'mtime'
}
如果您希望能够在别处将此资源称为 Tidy['beat_lock']
,那么您可以改为
tidy { 'beat_lock':
path => '/var/lib/beat/run.lock',
age => '8h',
type => 'mtime'
}
不过,我认为没有太多理由引入别名,而且您当然不需要与资源标题相同的别名。我没有在我自己的清单集中的任何地方声明任何别名,我不建议使用它们。
我有以下 Puppet 资源。
tidy {
'beat_lock':
age => '8h',
path => '/var/lib/beat/',
alias => 'beat_lock',
matches => 'run.lock',
type => 'mtime'
}
我收到一条错误消息:
Error: Failed to apply catalog: Parameter matches failed on Tidy[filebeat_lock]: Tidy can't use matches with recurse 0, false, or undef
我要清理的实体是文件而不是目录。那么,为什么会出现错误?
The entity I want to cleanup is a file not a directory. So, why is the error showing up?
您告诉 Puppet 您要清理的实体是目录 /var/lib/beat
。这就是 path
参数指定的内容(如果您指定它),或者如果您没有明确指定 path
参数则资源标题指定的内容。同时,您还没有为 recurse
参数提供值,因此资源默认为 non-recursive,就好像您指定了 recurse => false
。在这种情况下使用 matches
没有任何意义,因为您已经准确指定了要管理的文件。
有多种拼写方式,但表达您实际想要的内容的最简单方式是:
tidy { '/var/lib/beat/run.lock':
age => '8h',
type => 'mtime'
}
如果您希望能够在别处将此资源称为 Tidy['beat_lock']
,那么您可以改为
tidy { 'beat_lock':
path => '/var/lib/beat/run.lock',
age => '8h',
type => 'mtime'
}
不过,我认为没有太多理由引入别名,而且您当然不需要与资源标题相同的别名。我没有在我自己的清单集中的任何地方声明任何别名,我不建议使用它们。