Encontre os arquivos que foram alterados nas últimas 24 horas


265

Por exemplo, um servidor MySQL está sendo executado na minha máquina Ubuntu. Alguns dados foram alterados nas últimas 24 horas.

Quais scripts (Linux) podem encontrar os arquivos que foram alterados nas últimas 24 horas?

Por favor, liste os nomes dos arquivos, tamanhos e horário de modificação.


Respostas:


479

Para encontrar todos os arquivos modificados nas últimas 24 horas (último dia inteiro) em um diretório específico específico e seus subdiretórios:

find /directory_path -mtime -1 -ls

Deve ser do seu agrado

O -antes 1é importante - significa que qualquer coisa mudou um dia ou menos atrás. Um +antes 1significaria que qualquer coisa mudou há pelo menos um dia atrás, enquanto não ter nada antes 1significaria que ela foi alterada exatamente um dia atrás, nem mais, nem menos.


17
legais! Que tal duas últimas horas?
JackWM

114
usar "-mmin -120" em vez de mtime
Xavjer

1
por que o -antes do valor numérico?
EsseTi

6
O argumento para -mtime é interpretado como o número de dias inteiros na idade do arquivo. -mtime + n significa estritamente maior que, -mtime -n significa estritamente menor que.
Xavjer

3
Para o leitor: não se esqueça de remover o -lsao usar em um script
redolent

41

Você pode fazer isso com

find . -mtime 0

De man find:

[O] tempo desde que cada arquivo foi modificado pela última vez é dividido por 24 horas e qualquer restante é descartado. Isso significa que, para corresponder a -mtime 0, um arquivo precisará ter uma modificação no passado, que ocorre há menos de 24 horas.


25

Outra maneira, mais humana:

find /<directory> -newermt "-24 hours" -ls

ou:

find /<directory> -newermt "1 day ago" -ls

ou:

find /<directory> -newermt "yesterday" -ls

11

Em sistemas compatíveis com GNU (ou seja, Linux):

find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more

Isso listará os arquivos e diretórios que foram modificados nas últimas 24 horas ( -mtime 0). Ele os listará com a hora da última modificação em um formato que pode ser classificado e legível por humanos ( %T+), seguido pelo tamanho do arquivo ( %s), seguido pelo nome do arquivo completo ( %p), cada um separado por tabulações ( \t).

2>/dev/nulljoga fora qualquer saída stderr, para que as mensagens de erro não turvem as águas; sort -rclassifica os resultados modificados mais recentemente primeiro; e | morelista uma página de resultados por vez.


2
Você também pode usar em | lessvez de | more, suponho.
Stephen G Tuggy

7

Para outras pessoas que chegarem aqui no futuro (inclusive eu), adicione uma opção -name para encontrar tipos de arquivos específicos, por exemplo: find /var -name "*.php" -mtime -1 -ls


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.