puppet parser指令主要用于對*.pp檔案文法檢測,檢查檔案文法是否正确需要加validate動作參數.
文法正确,沒有任何傳回.
1
2
3
4
5
6
7
8
9
10
11
12
13
<code>[root@puppet ~]</code><code># cat 2.pp </code>
<code>user { </code><code>'root'</code><code>:</code>
<code> </code><code>ensure => </code><code>'present'</code><code>,</code>
<code> </code><code>comment => </code><code>'root'</code><code>,</code>
<code> </code><code>gid => </code><code>'0'</code><code>,</code>
<code> </code><code>home => </code><code>'/root'</code><code>,</code>
<code> </code><code>password => </code><code>'$6$yIyAnjPI1kiwQpe7$N0Lq9PrISqc5FRvWYbyS7tRSDE2lGLhdbQU/adpVAGbBpRsUSQ6GR22REoV9IJa9pPTHrKEOeShC2TZF3CUx3.'</code><code>,</code>
<code> </code><code>password_max_age => </code><code>'99999'</code><code>,</code>
<code> </code><code>password_min_age => </code><code>'0'</code><code>,</code>
<code> </code><code>shell => </code><code>'/bin/bash'</code><code>,</code>
<code> </code><code>uid => </code><code>'0'</code><code>,</code>
<code>}</code>
<code>[root@puppet ~]</code><code># puppet parser validate 2.pp</code>
把上段的puppet代碼修改為錯誤的puppet代碼測試:(root後面的冒号去掉)
14
<code>user { </code><code>'root'</code>
<code>[root@puppet ~]</code><code># puppet parser validate 2.pp </code>
<code>Error: Could not parse </code><code>for</code> <code>environment production: Syntax error at </code><code>'ensure'</code><code>; expected </code><code>'}'</code> <code>at </code><code>/root/2</code><code>.pp:2</code>
批量檢測多個*.pp檔案:(puppet resource快速生成3個*.pp檔案.)
15
16
17
18
19
20
21
22
23
24
25
26
27
<code>[root@puppet ~]</code><code># cat 3.pp </code>
<code>package { </code><code>'httpd'</code><code>:</code>
<code> </code><code>ensure => </code><code>'absent'</code><code>,</code>
<code>[root@puppet ~]</code><code># cat 4.pp </code>
<code>package { </code><code>'nginx'</code><code>:</code>
<code>[root@puppet ~]</code><code># find ./* -type f -name "*.pp" |xargs -n1 -t puppet parser validate</code>
<code>puppet parser validate .</code><code>/2</code><code>.pp </code>
<code>puppet parser validate .</code><code>/3</code><code>.pp </code>
<code>puppet parser validate .</code><code>/4</code><code>.pp </code>
<code>puppet parser validate .</code><code>/example-meng/tests/init</code><code>.pp </code>
<code>puppet parser validate .</code><code>/example-meng/manifests/init</code><code>.pp</code>
本文轉自青衫解衣 51CTO部落格,原文連結:http://blog.51cto.com/215687833/1964847