远程执行命令:

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就可以,必须满足这个条件才能执行命令,否则这个命令会一直执行,不太妥当。