linux – 如何在Puppet中排除命名管道和套接字?

我们有一个应用程序可以动态生成命名管道(类型p).我们想管理使用Puppet生成管道的目录的其他文件.有没有一种简单的方法告诉木偶跳过这种类型的文件.我可以忽略几个文件,如下:
file {'/var/opt/OV/share/tmp':
  ensure => directory,recurse => true,# enable recursive directory management
  owner => user,group => group,mode => 2775,ignore => 'ovcd.*',}

但正如我所说,我无法确定如何预先命名管道.我应该非常喜欢ignore =>输入p或类似的东西.这可以在Puppet中以标准方式完成吗?

我结束了:

exec { "set_perms_tmp":
  command => '/usr/bin/find /var/opt/OV/tmp ! \( -type s -o -type p \) -exec chmod 2775 {} \; -exec chown -R bin:bin /var/opt/OV/tmp/* {} \;'
}

套接字和木偶也不是快乐.

解决方法

当某些东西没有内置到文件中时,我通常只是转向一个木偶exec声明.通过使用find来执行“管理文件”所指的任何命令,您应该能够实现目标.

查找可以排除命名管道:

-type c
          File is of type c:

          b      block (buffered) special

          c      character (unbuffered) special

          d      directory

          p      named pipe (FIFO)

          f      regular file

          ....

所以类似于:

exec { "set_perms": 
  command => "/usr/bin/find /var/opt/OV/share/tmp ! -type p -exec chmod 2775 {} \;"
}

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...