之前的博文介紹了puppet的初始安裝配置:
傳送門:
今天來介紹puppet的具體實用功能,其實我的理解就是怎麼偷懶,呵呵。
1.填充檔案內容:
(server):
修改server端配置檔案:
# vi /etc/puppet/manifests/site.pp
-----------------
node default
}-----------------
重啟puppetmaster,更新配置檔案資訊。
# service puppetmaster restart
(client):
重啟puppet(可不用重啟)
# service puppet restart
同步檔案:
# puppetd --server server.example.com --test
------------------
warning: peer certificate won't be verified in this ssl session
info: caching certificate for client.example.com
info: caching certificate_revocation_list for ca
info: caching catalog for client.example.com
notice: /stage[main]//node[default]/file[/tmp/test]/ensure: defined content as '100b144907af2a4786003758a0a6a563'
info: creating state file /var/lib/puppet/state/state.yaml
notice: finished catalog run in 0.02 seconds
------------------
檢視/tmp/test檔案及檔案內容
# cat /tmp/test
-----------
this is a test file
-----------
2.檔案分發:
通過puppet可以向被管理機上推送檔案,方法是使用file型別的source屬性
1:修改/etc/puppet/fileserver.conf
2:修改/etc/puppet/manifests/site.pp
例項:要把server伺服器上/root目錄下的puppet-2.6.13.tar.gz傳輸至client伺服器的/tmp目錄下,檔名不變。
# vi /etc/puppet/fileserver.conf
----------------
[files]
path /root
allow 192.168.7.0/24
----------------
# vi /etc/puppet/manifests/site.pp
新增到node default{}內:
---------------
file
---------------
重啟poppetmaster服務
# service poppetmaster restart
(client):
執行更新命令
# puppetd --test --server server.example.com
此處「$puppetserver」是puppet server端的名稱,即本機hostname,網上教程都是在hosts裡
指定,生產環境下建議用內部的dns上作解析
3.修改檔案屬性:
例項:把/tmp/puppet-2.6.13.tar.gz檔案的許可權改為puppet使用者,並設定許可權為777。
(server):
# vi /etc/puppet/manifests/site.pp
在source後新增:
---------------
file
--------------
重啟poppetmaster服務
# service poppetmaster restart
(client):
執行更新命令
# puppetd --test --server server.example.com
4.執行shell命令或shell指令碼:
例項:通過puppet分發執行shell指令碼,在客戶端的/tmp目錄下執行test.sh指令碼,該指令碼實現在本目錄建立乙個testfile檔案。
(server):
首先建立乙個shell指令碼test.sh,並儲存在/etc/puppet/fileserver.conf配置檔案中設定
的/root目錄下
# cd /root
# vi test.sh
---------------
#!/bin/bash
/bin/touch /tmp/testfile
---------------
重啟poppetmaster服務
# service poppetmaster restart
(client):
執行更新命令
# puppetd --test --server server.example.com
設定檔案分發和許可權分配:
# vi /etc/puppet/manifests/site.pp
新增到node default{}內:
----------------
file
exec
----------------
重啟poppetmaster服務
# service poppetmaster restart
(client):
執行更新命令
# puppetd --test --server server.example.com
# ll /tmp
----------------------
.....
-rw-r--r-- 1 puppet root 0 5月 22 09:28 testfile
-rwxr-xr-x 1 puppet puppet 37 5月 22 09:28 test.sh
----------------------
5.服務啟動及關閉:
可以通過puppet對一些服務進行重啟,狀態等操作。puppet是通過service命令操作的。所以,只能針對在/etc/init.d/目錄下的服務
例項:把客戶端的iptables服務關閉,並把nfs服務啟動
# vi /etc/puppet/manifests/site.pp
新增到node default{}內:
---------------------
service
--------------------
重啟poppetmaster服務
# service poppetmaster restart
(client):
執行更新命令
# puppetd --test --server server.example.com
6.cron計畫任務:
接上面的shell程式例項,在10:27執行test.sh
# vi /etc/puppet/manifests/site.pp
新增到node default{}內:
-----------------
cron
-----------------
(client):
執行更新命令
# puppetd --test --server server.example.com
centos6 3下編譯安裝MySQL
linux centos6.3下編譯安裝mysql具體步驟如下 2.解壓縮tar檔案至當前目錄mysql 5.5.28 tar zxvf mysql 5.5.28.tar.gz 3.安裝編譯工具及依賴庫 yum y install gcc gcc c cmake bison 4.新增mysql使用者...
Centos 6 3下配置簡單php
使用最新版的centos 6.3 裡已預設安裝好apache服務元件httpd,在這就不多講了。centos 6.3 預設下沒有安裝php元件,因此我們需要輸入命令 yum y install php 回車如下圖。不用管,程式會自動完成安裝及配置。到此前期的準備工作已完成,下面就要對apache進行...
CentOS6 3下安裝VSFTP服務
centos下安裝ftp伺服器 第一步,檢查伺服器端是否已經安裝ftp root localhost centos rpm q vsftpd 如果出現的是 root localhost centos package vsftpd is not installed 說明vsftpd沒有安裝,如果出現的...