4-puppet文件管理

1、直接sit.pp管理vim

 vim /etc/puppet/mainfests/site.pp windows

 file { '/home/testfile.txt':ide

    ensure  => file,this

    owner   => 'root',spa

    group   => 'root',翻譯

    mode    => 644,unix

    content => 'This is the puppet test file.',server

}xml

變量形式管理遞歸

$contents = 'This is the test Puppet manifest.

Sample contents

Test contents

'

 

file { '/home/testfile.txt':

    ensure  => file,

    owner   => 'root',

    group   => 'root',

    mode    => 644,

    content => "$contents",

}

2、模板文件管理

 修改文件管理配置文件

 vim  /etc/puppet/fileserver.conf

 添加

 [files]

       path  /etc/puppet/files  #定義模板文件路勁

       allow   *             #定義權限

編輯主機配置文件

 vim  /etc/puppet/mainfests/site.pp

file { '/home/testfile2.txt':

    ensure => file,

    owner  => 'root',

    group  => 'root',

    mode   => 644,

    source => 'puppet://server.puppet.com/files/test.txt',

}

建立模板文件

 mkdir  -p /etc/puppet/files

 echo "this is puppet test file " > /etc/puppet/files/test.txt

 

3、軟鏈接管理

建立鏈接

 vim  /etc/puppet/mainfests/site.pp

 file { '/home/testfile.link':

ensure => link,

target  => '/home/testfile.txt',

}

刪除鏈接

 vim  /etc/puppet/mainfests/site.pp

 file {'/home/testfie.link': ensure => absent }

4、目錄管理

修改文件管理配置文件

 添加

 [dirs]

       path  /etc/puppet/dirs  #定義模板文件路勁

       allow   *             #定義權限

編輯主機配置文件

 vim  /etc/puppet/mainfests/site.pp

file { '/home/testdir':

    ensure => file,

    owner  => 'root',

    group  => 'root',

    mode   => 755,

    source => 'puppet://server.puppet.com/dirs/testdir',

}

這裏我在testdir中建立了一個文件,可是沒有被推送

5、參數詳解

1.   backup參數

 

指定在文件內容替換以前進行備份操做,能夠備份在本地,也能夠集中備份。集中遠程備份的話可使用filebucket(咱們在後面的實戰部分會進行詳細介紹),這個備份的時候若是備份在本地能夠指定備份的文件名。

 

2.   content參數

 

指定文件的內容(字符串),這個參數和source、target參數衝突。

 

3.   ensure參數

 

這個參數指定是否建立、刪除文件或者目錄,有present、absent、file、directory等值。其中present會檢查文件是否存在,不存在就會建立一個空文件。absent會刪除文件或者目錄,若是是目錄須要指定recurse參數指定是否容許遞歸。若是指定的是其餘的參數,則會建立鏈接文件,爲了方便管理,建議在建立的時候使用ensure => link,並經過target參數指定文件。注意不能在windows系統上連接文件,

 

4.   force參數

 

該參數強制執行文件操做,進行以下操做的時候必須指定force參數

 

  purge 子目錄

 

  用文件或者連接文件替換目錄

 

  使用ensure => absent參數刪除目錄

 

5.   group參數

 

指定文件或者目錄的屬組,能夠是組名或者組id,若是是windows的話屬組和屬主不能相同。

 

6.   ignore參數

 

這個參數指定在遞歸期間對符合指定的模式的文件操做將被忽略。

 

7.   links參數

 

這個參數指定處理文件期間如何處理連接文件,能夠設置follow和manage。在拷貝文件的時候,follow將會拷貝目標文件代替連接文件,manage將只會拷貝連接文件,ignore將會跳過。

 

8.   mode參數

 

這個參數用來指定文件或者目錄的權限,puppet使用傳統的unix權限方案,若是系統採用的權限方案不一樣的,puppet爲這些系統將權限翻譯成等價的權限,好比windows。這些權限能夠是數字(r=4,w=2,x=1)也能夠是字符(rwxst)。

 

9.   owner參數

 

指定文件的屬主,能夠是用戶名或是用戶id,若是是windows的話屬組和屬主不能相同。

 

10.  path參數

 

指定文件管理的路徑。Windows路徑也使用/而不是\。

 

11.  purge參數

 

這個參數會刪除在master上不存在的文件,這個參數只有在管理目錄的時候指定了recurse => true參數的時候纔有意義。

 

12.  recurse參數

 

這個參數指定是否進行遞歸調用以及遞歸調用的深度,選項以下

 

  inf,true  ---在遠程和本地都進行遞歸調用

 

  remote ---只在遠程進行遞歸調用

 

  false ---不進行遞歸調用

 

  [0-9]+ ---和true參數同樣,可是限制遞歸調用目錄的深度

 

13.  source參數

 

該參數指定將會被拷貝到指定位置的資源文件,值能夠是指定遠程文件的URIS或者本地的完整路徑。能夠指定多個sorce,這個參數和content、target衝突。

 

14.  target參數

 

這個參數指定建立連接文件的目標文件或者目錄。

相關文章
相關標籤/搜索