CentOS. Besoin de trouver des fichiers modifiés dans les 30 derniers jours pour voir si certains d'entre eux ont été infectés par des logiciels malveillants.
J'ai essayé ceci:
root@server [/home/someuser/public_html/]# find . -mtime +30
-exec ls -l {} > last30days.txt \;
Mais au lieu des 30 derniers jours, il semble avoir tout trouvé. 22 000 fichiers.
Quelques questions
>
dans -exec
sans quelque chose comme bash -c '... > ...'
. Bien que le >
va écraser le fichier, vous voulez donc rediriger la totalité de find
de toute façon plutôt que chaque -exec
.+30
est older
que 30 jours, -30
serait modifié au cours des 30 derniers jours.-exec
n'est vraiment pas nécessaire, vous pouvez tout lister avec divers -printf
options.Quelque chose comme ci-dessous devrait fonctionner
find . -type f -mtime -30 -exec ls -l {} \; > last30days.txt
Exemple avec -printf
find . -type f -mtime -30 -printf "%M %u %g %TR %TD %p\n" > last30days.txt
Cela listera les fichiers au format "propriétaire du groupe d'autorisations heure date nom_fichier". -printf
est généralement préférable à -exec
dans les cas où vous n'avez rien de compliqué à faire. Ceci est dû au fait qu’il fonctionnera plus rapidement car il n’aurait pas à exécuter de sous-shell pour chaque -exec
. Selon la version de find
, vous pourrez également utiliser -ls
, qui a un format similaire à celui ci-dessus.