web-dev-qa-db-fra.com

Trouver les fichiers qui ont été modifiés au cours des dernières 24 heures

Par exemple, un serveur MySQL s'exécute sur ma machine Ubuntu. Certaines données ont été modifiées au cours des dernières 24 heures.

Quels scripts (Linux) peuvent trouver les fichiers qui ont été modifiés au cours des 24 dernières heures?

Veuillez énumérer les noms de fichiers, la taille des fichiers et l'heure de modification.

223
JackWM

Pour trouver tous les fichiers modifiés au cours des dernières 24 heures (dernier jour complet) dans un répertoire spécifique et ses sous-répertoires:

find /directory_path -mtime -1 -ls

Devrait être à votre goût

Le - avant 1 est important - cela signifie que tout a changé il y a un jour ou moins. Un + avant 1 signifierait plutôt que quelque chose a changé il y a au moins un jour, alors que n'avoir rien avant le 1 aurait signifié que cela avait été exigé il y a un jour, ni plus, ni moins.

423
Xavjer

Vous pouvez le faire avec

find . -mtime 0

De man find:

Le temps écoulé depuis la dernière modification de chaque fichier est divisé par 24 heures et le reste est jeté. Cela signifie que pour correspondre à -mtime 0, un fichier devra être modifié dans le passé, il y a moins de 24 heures.

37
Michael

Une autre manière plus humaine:

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

ou:

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

ou:

find /<directory> -newermt "yesterday" -ls
17
Maxim Egorushkin

Sur les systèmes compatibles GNU (c.-à-d. Linux):

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

Ceci listera les fichiers et les répertoires qui ont été modifiés au cours des dernières 24 heures (-mtime 0). Il les listera avec la dernière heure modifiée dans un format à la fois lisible et lisible par l'homme (%T+), suivi de la taille du fichier (%s), suivi du nom de fichier complet (%p), chacun séparé par des tabulations (\t).

2>/dev/null élimine toute sortie stderr, de sorte que les messages d'erreur ne fouillent pas; sort -r trie les résultats en commençant par les plus récemment modifiés; et | more répertorie une page de résultats à la fois.

9
Stephen G Tuggy

Cette commande a fonctionné pour moi

find . -mtime -1 -print
5
BhandariS

Pour les autres qui débarquent ici dans le futur (y compris moi-même), ajoutez une option -name pour rechercher des types de fichiers spécifiques, par exemple: find /var -name "*.php" -mtime -1 -ls

4
resedasue