Como localizar um arquivo que é criado após 5 minutos exclui um subdiretório pertencente ao usuário root

0

Usando o usuário "jbossapp" Eu estou usando este comando para encontrar arquivos ".stat" que são criados por mais de 3 minutos.

find /opt/jboss/* -mmin +3 -name "*.stat" 

Recentemente existe uma pasta criada no diretório /opt/jboss/ com usuário root agora enquanto uso este comando Estou recebendo 'permissão negada' da pasta específica que está interrompendo a pesquisa como excluo a pasta específica que está tendo raiz privilégios.

    
por Kumar 13.08.2017 / 07:05

2 respostas

1

Use

find /opt/jboss/* -type f -mmin +3 -name "*.stat" 2>/dev/null

O 2>/dev/null redirecionará a saída de erro padrão para o arquivo especial /dev/null para evitar a exibição de erros.

Além disso, adicionamos -type f para procurar apenas f Iles.

Para excluir um uso de diretório como abaixo

find /opt/jboss/* -path /path/to/exclude -prune -o -type f -mmin +3 -name "*.stat" 2>/dev/null

você também pode usar -not -path .

find /opt/jboss/* -not -path /path/to/exclude -type f -mmin +3 -name "*.stat" 2>/dev/null

Mesmo se você quiser excluir o resultado de pesquisa dos usuários que pertencem ao root, use o seguinte:

find . \! -user root   ..... 
    
por 13.08.2017 / 07:11
0

Se você deseja excluir pastas de propriedade do root, edite-as com find:

find /opt/jboss/. \
   -type d ! -name . -owner root -prune -o -type f -mmin +3 -name '*.stat' -print

Para ser lido como: Dentro do diretório principal / opt / joss / qualquer pasta que não tenha o nome ".", de propriedade de "root" não deve ser seguida. Para todo o resto, restringimos ainda mais a escolha de arquivos regulares, com mais de 3 minutos, com a extensão ".stat" sendo impressos no stdout.

    
por 13.08.2017 / 09:05