以下配置文件为各种应用的举例
#默认
node default {
file { "/tmp/temp1.txt": content => "hello,first puppet manifest"; }
}
#分发文件
node 'puppet_client2.qubaoquan.com'{
file { "/opt/file_test/":
mode => 755,
owner => puppet,
group => puppet,
recurse => true,
recurselimit => 100,
source => "puppet:///test/"
}
}
#删除目录
node 'puppet_client3.qubaoquan.com'{
file { "/opt/file_test/":
ensure => absent,
force =>true
}
}
#创建文件
node 'puppet_client4.qubaoquan.com'{
file { "/opt/file_test":
ensure => file,
force =>true
}
}
#创建目录并且分发脚本文件,请按条件执行该脚本
node 'puppet_client5.qubaoquan.com'{
file { "/opt/file_test":
ensure => directory,
force =>true
}
file { "/opt/file_test/test.sh":
mode => 755,
owner => puppet,
group => puppet,
recurse => true,
ensure => "file",
recurselimit => 100,
source => "puppet:///test/test.sh"
}
exec { "scprits":
cwd => "/opt/file_test",
logoutput => true,
onlyif => "test -f /home/1.txt",
command => "bash test.sh",
user => "root",
path =>"/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/java/jdk1.6.0_12/bin:/usr/java/jdk1.6.0_12/bin:/usr/local/mysql/bin"
}
}
#自动化任务执行分发过去的脚本
node 'puppet_client6.qubaoquan.com'{
file { "/opt/file_test":
ensure => directory,
force =>true
}
file { "/opt/file_test/test.sh":
mode => 755,
owner => puppet,
group => puppet,
recurse => true,
ensure => "file",
recurselimit => 100,
source => "puppet:///test/test.sh"
}
cron { test:
command => "/opt/file_test/test.sh",
user => root,
minute => '*/10'
}
}
#创建用户
node 'puppet_client7.qubaoquan.com'{
user {"test_test":
uid =>2000,
home =>"/home/test_test",
shell =>"/bin/bash",
managehome =>"true",
#ensure => "absent",
provider => dd.html' target='_blank'>useradd
}
}
#控制服务
node 'puppet_client1.qubaoquan.com'{
service {
"postfix":
ensure => running;
"cron":
ensure => stopped;
}
}