歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Puppet配置語法初步介紹及示例

Puppet配置語法初步介紹及示例   實例一、文件分發 描述:通過puppet服務端可以向被管理機(客戶端)上推送文件,方法是使用file類型的source屬性    第一步: 113:38 2013-11-5 #vi /etc/puppet/fileserver.conf 2 ------------------------------------ 3 [files] 4 path /opt/              # 設置文件推送到目錄 5 allow 192.168.133.0/24  # 設置准許連接到服務端的主機地址   第二步:  1 #vi /etc/puppet/manifests/site.pp 2 ------------------------------------- 3 file 4 { "/opt/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz": 5 source => "puppet://$puppetserver/files/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz", 6 }   7 //設置服務器上/opt目錄下的mysql-5.1.49-linux-i686-icc-glibc23.tar.gz為被傳送文件 8 //此處“$puppetserver”是Puppet Server端的名稱,即hostname,在hosts文件裡指定,生產環境下用內部的DNS上作解析     第三步: 在客戶端執行更新命令  1 #puppetd --test --server server.puppet   實例二、修改文件屬性   描述:把客戶端的/tmp/dd142/ puppet-2.6.13.tar.gz文件的權限改為puppet用戶,並設置權限為666。    第一步:編輯服務端的site.pp  1 #vi /etc/puppet/manifests/site.pp 2 ------------------------------------------------------ 3 file 4 { "/tmp/dd142/puppet-2.6.13.tar.gz": 5 owner => "puppet", 6 group => "puppet", 7 mode => 666, 8 }     第二步:在客戶端執行命令  1 #puppetd --test --server server.puppet   實例三、執行shell命令或shell腳本 描述:通過puppet分發執行shell腳本,在客戶端的opt目錄下新建一目錄shelldir。    第一步:編輯服務端的site.pp  1 vi /etc/puppet/manifests/site.pp 2 --------------------------------------------- 3 exec { "exec-mkdir": 4 cwd => "/opt",      //切換到命令行運行時目錄 5 command => "sh /opt/lgh.sh", 6 user => "root", 7 path => "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin", 8 }   第二步:在客戶端編輯上一步command路徑中指定的shell腳本,例如  1 vi /opt/lgh.sh 2 --------------------------------------------- 3 #!/bin/bash 4 mkdir /opt/shelldir   第三步:在客戶端執行命令  1 # puppetd --test --server server.puppet     在/opt目錄下查看shelldir目錄有沒有建立。   實例四、cron計劃任務 描述:接上面的shell程序實例,在17:30執行/opt/lgh.sh。    第一步:編輯服務端的site.pp  1 vi /etc/puppet/manifests/site.pp 2 --------------------------------------------- 3 cron { "cron-shell": #title部分,可用來作為注釋。 4 command => "sh /opt/lgh.sh" #要執行的命令 5 user => "root", #添加到root用戶下的crontab中 6 minute => "30", #即第一個星號 7 hour => "17" #即第二個星號 8 }     第二步:在客戶端執行命令  puppetd --test --server server.puppet      然後在客戶端使用#crontab -l查看效果     1 [root@client ~]# crontab -l 2 # HEADER: This file was autogenerated at Mon Nov 04 16:56:25 +0800 2013 by puppet. 3 # HEADER: While it can still be managed manually, it is definitely not recommended. 4 # HEADER: Note particularly that the comments starting with 'Puppet Name' should 5 # HEADER: not be deleted, as doing so could cause duplicate cron jobs. 6 # Puppet Name: cron-shell 7 30 17 * * * sh /opt/lgh.sh   實例五、服務檢查及狀態修改     描述:可以通過puppet對一些服務進行檢查。puppet是通過service命令操作的。所以,只能針對在/etc/init.d/目錄下的服務 。下面演示把客戶端的防火牆開啟。    第一步:編輯服務端的site.pp  vi /etc/puppet/manifests/site.pp   ----------------------------------------------  service  { iptables:  ensure => "running",  }    第二步:在客戶端執行命令  puppetd --test --server server.puppet  
Copyright © Linux教程網 All Rights Reserved