Descubra arquivos grandes [duplicados]

0

Eu tenho um diretório na minha máquina do Cent OS, onde os usuários aparecem em todos os seus arquivos. Eu quero descobrir qual usuário está soltando os arquivos grandes na pasta.

Dia a dia, isso aumenta & gostaria de saber os arquivos grandes. Qualquer comando para isso, pois não desejo verificá-los manualmente.

    
por Rajadurai 09.01.2018 / 09:22

2 respostas

1

Você vai querer usar algo como:

while read directory
do
    find "$directory" -size +1M -exec stat --format="%U (id: %u), file: %n" {} \;
done << EOT
/path/to/folder 1
/path/to/my folder 2
EOT

O +1M procuraria arquivos com mais de 1 milhão.

O formato estatístico mostraria um nome de usuário, seu ID de usuário e nome de arquivo correspondente, para qualquer coisa que a localização tivesse correspondido.

Continuando os comentários, digamos que eu queira filtrar esses dados no momento da modificação, como find não deve corresponder a nenhum arquivo que foi modificado nas últimas 24 horas, então eu poderia usar:

find "$directory" -size +1M -mtime +1 -exec stat --format="%U (id: %u), file: %n" {} \;
    
por 09.01.2018 / 09:44
0
for i in 'cat /etc/passwd | awk -F ":" '$3 >= 500 {print $1}''; do find path -type f  -size +1M -user $i -exec ls -ltr {} \;; done | awk '{print $3,$NF}'

Acima, liste os arquivos e o nome de usuário cujo tamanho de arquivo é maior que 1M. Como verificado, funcionou bem. Deixe-me saber a atualização

ele também irá ignorar os arquivos dos usuários do sistema. então apenas especificamos condição cat /etc/passwd | awk -F ":" '$3 >= 500 {print $1}

    
por 09.01.2018 / 15:38

Tags