<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### 使用 ERB 模板 **模板**(**template**)是一種高級別的文本文件。它可以做計算、執行 Ruby 代碼或者引用你在 Puppet 配置清單中定義的變量值。能被 Puppet 部署的任何一個文本文件,你都可以使用模板來代替。 最簡單的情況,一個模板可以僅是一個靜態文本文件。更有用的情況是,你可以使用 **ERB** (**嵌入式 Ruby**)語法在模板中插入變量。例如: ``` <%= name %>, this is a very large drink. ``` 如果模板使用了變量 $name,其值為 Zaphod Beeblebrox,模板將解析為: ``` Zaphod Beeblebrox, this is a very large drink. ``` 這種簡單的技術非常有用,一種情形是要生成一批文件且它們僅有一兩個變量的值不同 (例如虛擬主機的配置文件);另一種情形是要向一個腳本中插入值(例如數據庫名或口令)。 在下面的例子中,我們將使用一個 ERB 模板插入口令到一個備份腳本。 #### 操作步驟 1. 使用下面的內容創建 /etc/puppet/modules/admin/templates/backup-mysql.sh 文件: ``` #!/bin/sh /usr/bin/mysqldump -uroot -p&lt;%= mysql_password %&gt; --all-databases \ | /bin/gzip &gt; /backup/mysql/all-databases.sql.gz ``` 2. 添加如下代碼到你的配置清單: ``` $mysql_password = "secret" file { "/usr/local/bin/backup-mysql": content =&gt; template("admin/backup-mysql.sh"), mode =&gt; "755", } ``` 3. 運行 Puppet: ``` # puppet agent --test info: Retrieving plugin info: Caching catalog for cookbook.bitfieldconsulting.com info: Applying configuration version '1308670971' notice: /Stage[main]//Node[cookbook]/File[/usr/local/bin/backupmysql]/ ensure: defined content as '{md5}5853b6d4dd72420e341fa7ecb8 91ad43' notice: Finished catalog run in 0.96 seconds ``` 4. 檢查 Puppet 是否已經在模板中正確地插入了口令: ``` # cat /usr/local/bin/backup-mysql ``` ``` #!/bin/sh /usr/bin/mysqldump -uroot -psecret --all-databases \ | /bin/gzip &gt; /backup/mysql/all-databases.sql.gz ``` #### 工作原理 在模板中,無論在哪里引用了變量(例如 &lt;%= mysql_password %&gt;), Puppet 都會使用相應的值(例如 secret)替換它。 #### 更多用法 在本例中,我們僅在模板中使用了一個變量,但是只要你需要可以引用許多變量。 它們也可以是對 facts 的引用,例如: ``` ServerName <%= fqdn %> ``` 或者使用 Ruby 表達式,例如: ``` MAILTO=<%= emails.join(',') %> ``` 或者你要使用的任何 Ruby 代碼,例如: ``` ServerAdmin <%= sitedomain == 'coldcomfort.com' ? 'seth@coldcomfort.com' : 'flora@poste.com' %> ``` #### 參見本書 * 本章的 [在模板中遍歷數組](#ch05sec05) 一節
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看