E ai fera, beleza? La vai mais uma dica topper de SysAdmin pra você. Neste post eu vou explicar como localizar arquivos modificados nos últimos N dias ou minutos usando o comando Find do Linux.
Localizar Arquivos pelo nome
Utilize o parâmetro “-name” para uma busca de um arquivo pelo seu nome, utilizando o comando find:
find . -name meuarquivo.txt
Observe que existe um ponto logo após o comando find, ele serve para indicar o diretório atual.
Caso você não lembre o nome exato do arquivo, a busca pode ser otimizada e usar caso insensitivo basta utilizar o parâmetro “-iname” no lugar de “-name”.
Localizar arquivos modificados no Linux
Para achar arquivos que foram modificados nos últimos N dias de uma pasta ou subpasta, utilize o seguinte comando:
find /pasta/destino/ -mtime -N -ls
Onde:
- Find é o comando unix para localizar arquivos
- “pasta/destino/” é a pasta onde será determinado a busca pelos arquivos que tenham sido modificados. Substitua pelo diretório que você quer procurar ai no seu sistema.
- -mtime -N é usado para determinar arquivos que tenham sido modificado nos últimos N dias. Subistitua N por um número inteiro.
- -ls lista o resultado dos arquivos encontrados. Você pode não utilizar o ls, mas utilizando ele você tera informações como tamanho do arquivo, permissões, e a data de modificação.
Exemplo:
Buscar todos os arquivos modificados no último dia (24 horas, entre o agora e um dia atrás) em uma pasta ou subpasta, digite:
find /pasta/destino/ -mtime -1 -ls
ou procurar os arquivos modificados nos ultimos 30 dias:
find /pasta/destino/ -mtime -30 -ls
Utilizando minutos ao invés de dias
Para buscar arquivos que tenham sido modificados N minutos atrás, simplesmente substitua -mtime por -mmin.
Exemplo:
find /pasta/destino/ -mmin 5 -ls
Neste exemplo, o comando irá buscar os arquivos daquela pasta modificados nos últimos 5 minutos.
Essa foi uma dica rápida que pode ajudar muitos administradores de sistemas linux a encontrar erros ou plotar espertinho e se algué modificou algum tipo de arquivo no sistema.