Puppet常用模块

下面这些都是工作中常用的一些模块:

#create files

file { “/tmp/elain.txt”:
content=>”I’’’’’’’’m test puppet”;
}

#create directory

file {
“/tmp/puppetDir”:
ensure => absent,
force => true
}

#create link

file { “/tmp/FileForlink”:
ensure => link,
target => “/var/log/messages”
}

file { “/tmp/rc.local.txt”:
ensure => “/etc/rc.local”
}

#add cron

cron { “update time add by elain”:
command => “/usr/sbin/ntpdate ntp1.pt.elain.org >/dev/null 2>&1”,
minute => ‘’0’’,
hour => ‘’/3’’,
monthday => ‘’
‘’,
ensure => present,
}
cron { “每三小时重启nginx add by elain”:
command => “/etc/init.d/nginx restart”,
minute => ‘’‘’,
hour => [‘’2-4’’],
monthday => ‘’
‘’,
ensure => present,
}

#exec scripts

exec { “mkdir test”:
cwd => “/opt/shell”,
command => “sh /opt/shell/mkdir.sh”,
user => “root”,
path => “/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin”,
}

#restart services

service {“postfix”:
ensure => running;
“rsyslog”:
ensure => stopped;
}

#sync files

file { “/etc/hosts”:
owner => “root”,
group => “root”,
mode => “644”,
source => “puppet://master.elain.org/conf/sysfiles/hosts”,
}
file { “/etc/resolv.conf”:
owner => “root”,
group => “root”,
mode => “644”,
ensure => “present”,
backup => “.bak”,
source => “puppet://master.elain.org/conf/sysfiles/resolv.conf”,
}

#sync directory

file { “/data/www/www.elain.org”:
source => “puppet://master.elain.org/files/sysfiles/www.elain.org”,
owner =>root,
group =>root,
mode =>0744,
ignore => “.svn”,
recurse => “true”,
ensure =>present,
purge =>”true”,
force =>”true”,
}

#install package

package { [“nginx”,”httpd”]:
ensure =>installed,
}

#remove pachage

package { [“httpd”,”httpd-tools”]:
ensure => absent;
}

#add random cron

class cron::puppet_cron {
define cron_random( $command, $hour) {
cron { $name:
command => $command,
minute => inline_template(“<%= (hostname+name).hash.abs % 60 %>”),
ensure => “present”,
}
}
cron_random { “running puppet add by elain”:
command => “/usr/sbin/puppetd –test –server=master.puppet.com >/dev/null 2>&1”,
hour => ‘’’’’’’’1’’’’’’’’,
}
service {“crond”:
ensure => running;
}
}

文章目录
,