|
远程执行命令:
vim /etc/puppet/modules/testm/manifests/init.pp #编辑配置文件
#旧实验的类
class testm{
file {"/tmp/2.txt": #送往客户端的文件名,属性和内容来源
owner => "root",
group => "root",
mode => 0400,
source => "puppet://$puppetserver/modules/testm/1.txt"
}
}
#旧定义的类,批量同步文件
class apache{
file {"/usr/local/apache2": #同步到客户端后的文件路径
owner => "root",
group => "root",
source => "puppet://$puppetserver/modules/testm/apache2",
recurse => true,
purge => true
}
exec {"123": #偷懒,直接插入到已有的类中 exec是执行命令,命令名字123
unless => "test -f /tmp/linux.txt", #文件存在时
path => ["/bin", "/sbin", "/usr/bin", "/usr/sbin"], #执行命令的环境变量
command => "touch /tmp/linux.txt" #具体执行的命令,创建一个文件。
}}
#新定义的类,远程执行命令。
说明:123只是作为该资源的一个名字,unless后面的命令作为一个条件,当条件成立时,不会执行下面的命令,如果想要条件成立时,执行下面的命令,用 onlyif。要注意的是,我们一定要给执行的这条命令加个条件,使用unless就可以,必须满足这个条件才能执行命令,否则这个命令会一直执行,不太妥当。
|
|
|