歡迎您光臨本站 註冊首頁

Puppet--軟體包,cron任務自動化管理

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

Puppet自動化軟體包,cron任務

一.軟體包資源

Package:管理軟體包的安裝和升級

管理軟體包,現在分成兩派

,一派是自己能解決軟體依賴,例如apt-get,yum ; 另一類是不能解決軟體依賴,例如 dpkg,rpm ; puppet會根據你運行puppet的環境來自動判斷你是用的什麼包管理系統 .當然你也可以手工設定 provider 參數讓puppet用什麼命令來管理軟體包. 每個provider需要一些依賴來完成各項功能. 因此你 provider提供這些依賴

參數

Allowcdrom:告訴 apt 允許使用cdrom作為軟體源, 可以設置成

false或者 true

Category:軟體包設置的一個只讀的屬性

Configfiles:是否保留或者替換軟體的配置文件,大多數軟體不支持這個參數,可設置的值是

false,true

Description:描述軟體包,軟體包設置的一個只讀屬性

Ensure:設置該軟體包應該在什麼狀態. installed 表示要安裝該軟體,也可以寫成present; absent

表示反安裝該軟體,pureged 表示乾淨的移除該軟體,latest 表示安裝軟體包的最新版本.

Namevar:該資源的namevar ; 軟體包的名字

Provider:指定使用什麼

provider來提供軟體包管理功能

Responsefile:在debian上面安裝軟體,一般會回答一些問題,用這個文件來包含問題的預設答案, 用在

debian或者 solaris系統上.

Source:去那裡找軟體的安裝包,例如rpm的包地址,是本地地址或者

URL

Package資源測試用例

編輯site.pp,添加如下內容,安裝nginx包,並且刪除pppoepppoe-conf

                         
  1. [root@master puppet]# vim manifests/site.pp
  2. package {
  3. ["nginx"]:
  4. ensure=>installed;
  5. ["pppoe","pppoe-conf"]:
  6. ensure=>absent;
  7. }

編輯完成後,用其中一台Client測試

  1. [root@client1 ~]# puppetd --server master.puppet --test
  2. notice: Ignoring --listen on onetime run
  3. info: Caching catalog for client1.centos
  4. info: Applying configuration version '1329979654'
  5. notice: Finished catalog run in 0.34 seconds

檢查nginx包是否安裝,pppoe是否刪除

  1. [root@client1 ~]# rpm -qa nginx
  2. nginx-0.8.54-1.el6.x86_64
  3. [root@client1 ~]# rpm -qa pppoe

二. Yumrepo資源

參數

Baseurl:指定軟體倉庫的地址,設置成absent表示刪除該倉庫.

Descr:提供給用戶閱讀的一個對軟體倉庫的描述

,設置成absent將刪除該描述

Enabled:設置該倉庫是否啟用,可以設置的置是 0 或者 1

Enablegroups:是否讓

yum在這個倉庫裡面使用軟體組這個特性,可以設置的值是 0 , 1

Exludeshell模式匹配規則,匹配該規則的軟體不會從這個倉庫裡面安裝.

Gpgcheck

:該倉庫是否啟用gpg簽名檢查

Include:設置一個文件路徑,包含該文件到當前配置文件

Keepalive:設置yum是否使用

http/1.1 裡面的keeplive特性, 可以設置成0 , 1

metadata_expire:設置多少秒以後,倉庫的metadata失效

.

Mirrorlist:指定一個包含該軟體倉庫鏡像的url

Name:該資源的namevar, 指定軟體倉庫的名字

Priority:定軟體倉庫的優先次序,可以設置

1-99

Proxy:定yum使用的代理伺服器地址

proxy_name:理伺服器用戶名

proxy_password:理伺服器的用戶密碼

timeout:果超過多少秒就放棄連接該軟體倉庫

.

三.Cron資源

參數

除了用戶和command兩個參數以外,其他的參數都是可選項.

Command

rontab要執行的命令, 環境變數按照系統本地規則進行管理,推薦使用絕對路徑.

Ensure:定該資源是否啟用,可設置成true

false

Environment:crontab環境裡面指定環境變數,例如 PATH=/bin:/usr/bin:/usr/sbin.

Hour:行crontab的小時,可設置成0-23

Minute:行crontab的分鐘,可設置成0-59

Month:置crontab運行的月份,1-12

Monthday

:個月份中的日子,1-31

Namecrontab的名字,這個名字用於管理員區分不同的crontab,以及puppet管理各種資源關係

.

Provider:定provider,可用的provider

User:該crontab加到那個用戶的crontab列表

,默認是運行puppet的用戶

Weekday:行crontab的星期數,0-7

Cron計劃任務測試用例

site.pp中加入如下內容

  1. cron{ echo:
  2. command=>"echo \"This is cron job\"",
  3. user=>root,
  4. #hour=>[3,5],
  5. minute=>'*/2';
  6. }

Client進程測試:

  1. [root@client1 ~]# puppetd --server master.puppet --test
  2. notice: Ignoring --listen on onetime run
  3. info: Caching catalog for client1.centos
  4. info: Applying configuration version '1329980213'
  5. notice: /Stage[main]//Node[default]/Cron[echo]/ensure: created
  6. notice: Finished catalog run in 0.50 seconds

檢查Cron任務列表

  1. [root@client1 ~]# crontab -l
  2. # HEADER: This file was autogenerated at Thu Feb 23 14:56:53 0800 2012 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: echo
  7. */2 * * * * echo "This is cron job"

本文出自 「Waydee的博客」 博客,請務必保留此出處http://waydee.blog.51cto.com/4677242/847130


[火星人 ] Puppet--軟體包,cron任務自動化管理已經有765次圍觀

http://coctec.com/docs/linux/show-post-45808.html