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.
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.
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.
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
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.
Cette commande a fonctionné pour moi
find . -mtime -1 -print
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