我正在检查file1(位于伪主机中)和file2(位于代理机器中)中的文件内容。如果内容相同,则意味着我用代理中的file2替换master中的file1。如果内容不一样,就什么都不做。所以我使用的文件资源如下:
class ysample::testing3{ file{"/opt/ytesting/ymyfiles.txt":
ensure=>"file",
source=> "puppet://puppetmaster.solartis.net/ysamplehome/ymyfiles.txt",
sourcepermissions=>"use",
recurse => "true",
showdiff => "true",
validatecmd =>"/opt/ytesting -t -f %",
validate_replacement => "%",
}
}
但它不会替换具有相同时间戳的文件。您能给出替换具有相同时间戳的文件的解决方案吗?以及如何检查我们的资源是否适用?在我执行这个命令后,我看到:
-rw-r--r-- 1 root root 37 Dec 22 18:51 ymyfiles.txt >>>(in master machine)
-rw-r--r-- 1 root root 37 Dec 22 18:19 ymyfiles.txt >>>(in agent machine)
从文档中看,Puppet当前不会更新代理端托管文件上的mtime
。如果这对您很重要,请考虑打开功能请求。