Como excluir pipes nomeados e sockets no Puppet?

5

Nós temos um aplicativo que gera pipes nomeados (tipo p) na hora. Queremos gerenciar os outros arquivos do diretório onde os pipes são gerados com o Puppet. Existe uma maneira simples de dizer ao fantoche para pular esse tipo de arquivo? Eu poderia ignorar alguns arquivos, assim:

file {'/var/opt/OV/share/tmp':
  ensure => directory,
  recurse => true,        # enable recursive directory management
  owner => user,
  group => group,
  mode => 2775,
  ignore => 'ovcd.*',
 }

Mas, como eu disse, não consigo determinar como os pipes são nomeados de antemão. Eu realmente gostaria de ignorar = > Digite p ou algo parecido. Isso pode ser feito de maneira padronizada no Puppet?

Acabei com:

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/* {} \;'
}

Sockets e Puppet também não são nada felizes.

    
por Willem Noorduin 26.06.2014 / 15:07

1 resposta

3

Quando algo não está embutido no arquivo, geralmente só ligo para uma declaração de exec de um fantoche. Ao usar o comando "Localizar" para executar os comandos que você entende por "gerenciar arquivos", você deve ser capaz de atingir sua meta.

A pesquisa pode excluir os Pipes nomeados:

   -type c
          File is of type c:

          b      block (buffered) special

          c      character (unbuffered) special

          d      directory

          p      named pipe (FIFO)

          f      regular file

          ....

Então, algo como:

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

Tags