Como usar curinga no caminho do tmpwatch

1

O caractere curinga não parece funcionar no caminho de exclusão fornecido para o tmpwatch.

Tenho a seguinte estrutura de dir dentro de /tmp

drwxr-xr-x  2 vrisbud developers    4096 May 17 15:36 AssetEnumeratorTest
drwxr-xr-x  2 vrisbud developers    4096 May 17 15:37 EnumeratorReducerTest
drwxr-xr-x  2 reco    reco          4096 May 30 14:42 hadoop-reco
drwxr-xr-x  3 vrisbud developers    4096 May 17 15:30 hadoop-vrisbud
drwxr-xr-x  2 reco    reco          4096 May 31 08:10 hsperfdata_reco
drwxr-xr-x  2 root    root          4096 May 26 13:30 hsperfdata_root

Eu quero excluir o diretório que começa com 'hadoop' no tmpwatch. Então estou executando o seguinte comando

tmpwatch -tmf 8 -x /tmp/hadoop* /tmp

Ele mostra que ele excluirá diretórios 'hadoop-reco' e 'hadoop-vrisbud'. (Estou apenas testando, então eu adicionei -t flag a ele).

Eu também tentei

tmpwatch -tmf 8 -x '/tmp/hadoop*' /tmp
tmpwatch -tmf 8 -x '/tmp/hadoop.*' /tmp

Nada parece funcionar. Eu quero excluir diretórios começando com 'hadoop' do tmpwatch.

Estou usando tmpwatch 2.9.7 versão se isso fizer alguma diferença.

Eu gostaria de saber como posso fazer isso na minha versão atual do tmpwatch. Como uma resposta abaixo indica que posso usar o -X option in the upgraded version of tmpwatch , mas não tenho essa opção disponível na minha versão atual.

    
por Varun Risbud 01.06.2017 / 03:32

1 resposta

1

Atualizar (ou compilar a partir da fonte) uma opção? Não sei qual versão primeiro adicionou essa opção; my (centos 6.6) man-page para tmpwatch 2.9.16 tem:

-X, --exclude-pattern=pattern
  Skip paths matching pattern; if a directory matches pattern,
  all files contained in it are skipped too. pattern must match
  an absolute path that contains no symbolic links.

Edit: A força bruta para versões mais antigas pode ser como (use shell globing e printf em backquotes ou similar para gerar os argumentos -x ... ):

tmpwatch -tmf 8 /tmp 'printf -- "-x %s " /tmp/hadoop*/'

Nota: O espaço à direita na string de formato printf é obrigatório. E como escrito, não exclui hadoop* em subdiretórios.

    
por 01.06.2017 / 04:47