1.文件管理介绍:
可管理的项目:
- 支持文件和目录
- 设置文件及目录的所有者及权限
- 恢复文件(包括文件的内容、权限及所有者)
- 清理目录以及子目录
- ensure :指定文件的状态,状态包括 abent(删除)、present(创建),也可指定文件类型 file(文件)、directory(目录)、link(链接文件)
- backup :指定在文件内容替换之前进行备份操作,可以备份在本地,也可以集中备份
- owner|user : 指定文件属主,可以是用户名或者UID
- group :指定该文件的用户组,可以是组名或者GID
- ignore :忽略指定的匹配文件,可以匹配目录结构
- links:软连接,这个参数指定处理文件期间如何处理链接文件,可以设置follow和manage。在拷贝文件的时候,follow将会拷贝目标文件代替链接文件,manage将只会拷贝链接文件,ignore将会跳过
- mode :指定文件的权限,值一般为unix数字形式
- path:指定agent端文件的路径,必须使用双引号,如果不定义此项,默认为资源的titile
- purge : 清空目录中没有被puppet管理的文件或目录,必须和recurse=>true同时使用
- force:强制执行删除文件、软连接及目录操作,该参数强制执行文件如下操作的时候必须指定force参数 purge 子目录、 用文件或者链接文件替换目录、 使用ensure => absent参数删除目录
- recurse:这个参数指定是否进行递归调用以及递归调用的深度,值为 inf,true(在远程和本地都进行递归调用)、remote(只在远程进行递归调用)、false(不进行递归调用)、数字(true参数一样,但是限制递归调用目录的深度)
- source 指定将会被拷贝到指定位置的资源文件,值可以是指定远程文件的URIS或者本地的完整路径
- target:指定创建链接文件的目标文件或者目录
- content:指定文件内容,不能和source target同时使用
class base::script {0 file { "/data/script" : ensure => directory, owner => "root", group => "root", path => "/data/script", } file { "/data/script/sa.sh": ensure => file, owner => "root", group => "root", mode => "755", source => "puppet:///modules/base/script/sa.sh", } } class base::yum { file { "/etc/yum.repos.d": ensure => directory, recurse => true, purge => true, force => true, source => "puppet:///modules/base/yum", } }