说明这里是我的木偶代码:的木偶代码
file { 'copy_files':
path => "/data/files",
source => "puppet:///modules/mymodule/repo",
recurse => true;
}
file {'chmod_script':
path => "/data/files/inner_folder/script",
ensure => 'present',
mode => "+x"
}
我要的是复制我的文件夹(“回购”),然后让一个可执行脚本。但是,通过上面的代码,脚本中的所有内容都被清除(脚本只是空文件)。没有那个额外的资源('chmod_script')文件的内容是预期的(没有被擦除)。所以我在这里做错了什么?我认为这可能是因为第二个资源('chmod_Script')在早些时候执行,但文档说“Puppet按照他们在清单中声明的顺序应用资源。”。那么有人可以解释我应该是什么样子?
编辑 我已经决定使用这个脚本:
file { 'copy_files':
path => "/data/files",
source => "puppet:///modules/mymodule/repo",
recurse => true;
}
file {'chmod_script':
path => "/data/files/inner_folder/script",
source => "puppet:///modules/mymodule/repo/inner_folder/script",
ensure => 'present',
mode => "+x"
}
所以在更新模式,我复制内容一次。
如果第二资源首先被执行,那么从逻辑脚本就不会是空的。无论如何,这里阻力最小的路径是脚本可以在源代码中执行。 –
感谢您的回答。是的,我想过让它在源代码中可执行。但想知道为什么我的解决方案不能按预期工作。另外,如果第二个资源被首先执行,那么它会创建空的可执行文件(就像它发生在我的情况),或者我错了吗? –
伟大的问题。我计算出来并在@peterSchiza下面回答。 –