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参数

 

这个参数指定建立连接文件的目标文件或者目录。

相关文章
相关标签/搜索