日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

158.5. manifests

發布時間:2024/4/13 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 158.5. manifests 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

158.5.1.?node

default 針對所有節點

node default {file {"/tmp/helloworld.txt": content => "hello, world";} } # cat /etc/puppet/manifests/site.pp node default {file {"/tmp/puppettest1.txt":content => "hello,first puppet manifest";} }

指定節點

# cat /etc/puppet/manifests/test.pp node www {file { "/var/www/index.html":source => "/tmp/something",mode => 666;} }

多個節點

node 'www','images' {...... }

158.5.2.?group, user 用戶組管理

http://docs.puppetlabs.com/references/latest/type.html#user

http://docs.puppetlabs.com/references/latest/type.html#group

如果沒有指定name的話就會建立和資源名一樣的用戶名/組名,如果指定了name就以name指定的用戶名/組名為主

158.5.2.1.?group

用戶組的添加

node 'node1.example.com' { #為該節點添加一個名字為test的組,并設置組ID為1000,如果不指定name的值,所創建的用戶就為web。group { "web":ensure => "present",gid => 1000,name => "test";} #為該節點添加一個httpd的組,并且設置ID和web一樣group { "httpd":ensure => "present",gid => 1000,allowdupe => true;} #為該節點刪除一個apache的組。group { "apache":ensure => "absent",} }

用戶組的刪除

node 'node1.example.com' { #為該節點刪除一個web的組。group { "web":ensure => "absent",} }

158.5.2.2.?user

用戶的添加

#創建一個用戶并且密碼為空 user {"svn":ensure => "present",shell => "/sbin/nologin"; }#創建一個www用戶,設置用戶描述為webmaster,shell為bash, user {"www":ensure => "present",comment => "webmaster user",name => "www",shell => "/sbin/bash"; }#創建一個gid為80的用戶組: group { "www":ensure => "present",gid => 80,}

用戶的刪除

user { "neo":ensure => "absent", }

創建用戶并指定密碼

生成密碼

# grub-md5-crypt Password: Retype password: $1$ZlJ1u0$tdv/dr8pYuHh.eT47F6b70 user { "www":ensure => "present",uid => 80,gid => 80,home => "/var/www",shell => "/bin/bash",managehome => true,password => '$1$ZlJ1u0$tdv/dr8pYuHh.eT47F6b70'; }file {"/var/www":group => 80,owner => 80,mode => 700,ensure => directory; }

158.5.3.?file

file { "/var/www/my/file":source => "/path/in/nfs/or/something",mode => 666; }

158.5.3.1.?ensure

ensure => absent; #absent是檢測文件是否存在,如果存在則刪除 ensure => present; #present正好相反,如果不存在則創建 ensure => directory; #創建一個目錄的方法 force = > true; #刪除一個目錄必須加上這個參數 source => "PATH"; #指定數據來源 backup => ".backup_$uptime_seconds"; 覆蓋前備份文件

創建目錄實例

file { "/tmp/cache":owner => "www",group => "www",mode => 700,ensure => directory; }

158.5.3.2.?source

source 表示 agent節點上的目錄

node www {file { "/var/www":owner => "nginx",group => "nginx",mode => 700,ensure => directory;}file { "/var/www/index.html":source => "/tmp/something",mode => 666;} }

從master上獲取文件

fileserver.conf 配置如下

[files] path /var/lib/puppet/files allow *

site.pp配置如下

file { "/tmp/test.txt":source => "puppet://puppet.example.com/files/test.txt",}

此處的files為fileserver.conf中定義模塊

158.5.3.3.?owner, group, mode

file { "/opt/testfile":owner => "puppet",group => "puppet",mode => 777; }

158.5.4.?package

present, installed 安裝包 absent,pureged 卸載包 # start package {"dnsmasq":ensure => installed;}file {"/etc/resolv.conf":require => Service["dnsmasq"],content => "nameserver 127.0.0.1\n";} service {"dnsmasq":ensure => running,pattern => "dnsmasq" ,require => Package["dnsmasq"];} # end package {"httpd":ensure => installed; 安裝httpd,或用present也表示安裝["vim","vsftpd"]:ensure=>absent; 刪除vim 和vsftpd軟件,使用pureged表示徹底刪除軟件 } $package_list = [ "screen", "strace", "sudo" ] package { $package_list: ensure => "installed" } package { "lamp":ensure => present,provider => rpm,source => "http://192.168.0.1/lamp.rpm"; }

158.5.5.?service

service { 'sshd':ensure => running,enable => true,hasrestart => true,hasstatus => true,subscribe => File['/etc/ssh/sshd_config'], }

158.5.6.?exec

exec { "creates file":cwd => "/tmp", #指定命令執行的目錄。如果目錄不存在,則命令執行失敗。command => "/bin/echo helloworld > /tmp/hello.txt",user => "root",path => "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"; #命令執行的搜索路徑。如果path沒有被定義,命令需要使用絕對路徑。 } exec { “/srv/puppet/shell/test.sh”:cwd => “/srv/puppet”,timeout => 7200,logoutput => on_failure,user => root,path => ["/sbin", "/usr/sbin", "/usr/local/sbin", "/usr/local/bin", "/usr/bin", "/bin", "/usr/local/java/jre/bin"],require => File["/srv/puppet/shell/test.sh"] }

158.5.7.?cron

cron{ ntpdate:command => "/usr/sbin/ntpdate 172.16.0.1",user => root,minute =>'*/5',require => Package["crontabs"]; } file { "/etc/cron.hourly/backup":mode => 755,owner => root,group => root,require => Package[mysql],content => template("db/backup.erb"); }




原文出處:Netkiller 系列 手札
本文作者:陳景峯
轉載請與作者聯系,同時請務必標明文章原始出處和作者信息及本聲明。

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的158.5. manifests的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。