Centos6 3下Puppet功能模組例項筆記

2021-09-22 00:17:05 字數 4057 閱讀 5645

之前的博文介紹了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沒有安裝,如果出現的...