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

前端之家收集整理的这篇文章主要介绍了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 {} \;"
}

猜你在找的Linux相关文章