- Puppet 2.7 Cookbook
- John Arundel
- 284字
- 2021-04-02 18:19:57
Running Puppet from cron
Is your Puppet sleeping on the job? By default, when you run the Puppet agent on a client, it will become a daemon (background process), waking up every 30 minutes to check for any manifest updates and apply them (optionally after a randomized delay using the splay
setting in puppet.conf
). If you want more control over when Puppet runs, you can trigger it using cron
instead.
For example, if you have many Puppet clients, you may want to deliberately stagger the Puppet run times to spread the load on the Puppetmaster. A simple way to do this is to set the minute or hour of the cron
job time using a hash of the client hostname.
How to do it...
Use Puppet's inline_template
function, which allows you to execute Ruby code:
cron { "run-puppet": command => "/usr/sbin/puppet agent --test", minute => inline_template("<%= hostname.hash.abs % 60 %>"), } service { "puppet": ensure => stopped, enable => false, }
How it works...
Because each hostname produces a unique hash value, each client will run Puppet at a different minute past the hour. This hashing technique is useful for randomizing any cron
jobs to improve the odds that they won't interfere with each other.
There's more...
You may find that running Puppet as a daemon leaks memory over time, or that occasionally Puppet can get into a stuck state when communicating with the master. Running Puppet from cron
should also fix these problems.
There are other ways to trigger Puppet runs, including the MCollective tool, which we'll cover in detail elsewhere in this book.
- 自己動手寫分布式搜索引擎
- Word論文排版之道
- Entity Framework Tutorial
- 從零開始:Flash CS6中文版基礎培訓教程
- Creo Parametric 5.0中文版從入門到精通
- 圖解Word 2007圖文排版與辦公應用
- DWR Java AJAX Applications
- Photoshop圖形圖像處理實用教程
- SPSS 28.0統計分析從入門到精通(升級版)
- UG NX12中文版實用教程
- Mastercam 2019 完全自學寶典
- 邊做邊學:CorelDRAW X6圖形設計案例教程(第2版)(微課版)
- Moodle 1.9 for Design and Technology
- EJB 3.1 Cookbook
- 新手學UG NX 8.0輔助設計