Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 04-03-2017 08:19:41

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Recherche de fichiers par dates incohérente - Résolu

Bonjour,

Je recherche tous les fichiers changés depuis moins de deux jours dans le répertoire /etc :

find /etc -type f -ctime -2 -exec ls -l {} \;
-rw-r--r-- 1 root root 528 oct.  12  2017 /etc/default/ntpdate                  <-------------------------!!!!!!!
-rw-r--r-- 1 root root 45 mars   4 00:26 /etc/adjtime
-rw-r--r-- 1 root root 105426 mars   2 09:12 /etc/ld.so.cache
-rw-r--r-- 1 root root 173 mars   3 11:01 /etc/apt/sources.list.d/vivaldi.list
-rw------- 1 root root 472 mars   3 19:54 /etc/NetworkManager/system-connections/pengouin
-rw-r--r-- 1 root root 465 mars   2 09:12 /etc/xml/docutils-common.xml
-rw-r--r-- 1 root root 3696 mars   2 09:12 /etc/xml/catalog
-rw-r--r-- 1 root root 3577 mars   2 09:12 /etc/xml/catalog.old
-rw-r--r-- 1 root root 339 mars   2 09:12 /etc/xml/docutils-common.xml.old
-rw-r--r-- 1 root root 60543 mars   2 12:42 /etc/mailcap
-rw-r--r-- 1 root root 466 août   4  2014 /etc/emacs/site-start.d/50python-docutils.el  <-----------------------!!!!!!!
-rw-r--r-- 1 root root 40 août   4  2014 /etc/sgml/docutils-common.cat          <------------------------- !!!!!!!
-rw-r--r-- 1 root root 323 mars   4 05:50 /etc/resolv.conf
 



Oh surprise, certains de ces fichiers datent de octobre 2017 et de aôut 2014!

Comment se fait-il que ces fichiers soient trouvés par find comme moins de deux jours?
Comment se fait-il que des fichiers soient datés de octobre 2017?

J'ai fait d'autres essais, mêmes genres de constat :

Fichiers modifiés depuis 20 jours, triés par date

Les plus anciens dates de 2006 et 2010 !

# find /etc -type f -ctime -20 -exec stat -c %y {} \; |sort |head
2006-08-10 17:45:25.000000000 +0200
2010-06-06 18:19:27.000000000 +0200
2010-06-06 18:19:27.000000000 +0200
2010-06-06 18:19:27.000000000 +0200
2011-10-10 21:49:37.000000000 +0200
2011-10-10 21:49:37.000000000 +0200
2012-06-07 11:15:57.000000000 +0200
2012-06-25 17:47:24.000000000 +0200
2014-01-01 14:51:37.000000000 +0100
2014-01-01 14:51:37.000000000 +0100
 



Le plus récent de octobre 2017!:

# find /etc -type f -ctime -20 -exec stat -c %y {} \; |sort |tail
2017-03-02 09:12:14.526715509 +0100
2017-03-02 09:12:14.550715509 +0100
2017-03-02 09:12:14.578715509 +0100
2017-03-02 09:12:16.702715474 +0100
2017-03-02 12:42:28.786055407 +0100
2017-03-03 11:01:31.205840652 +0100
2017-03-03 19:54:38.165589141 +0100
2017-03-04 00:26:48.495917469 +0100
2017-03-04 05:50:28.484025993 +0100
2017-10-12 13:04:32.084923064 +0200
 



Merci de votre aide

Edit à toto :
Mis à la suite en exemple les balises Commande root séparées de leurs retours respectifs et sans le # :

find /etc -type f -ctime -2 -exec ls -l {} \;


-rw-r--r-- 1 root root 528 oct.  12  2017 /etc/default/ntpdate                  <-------------------------!!!!!!!
-rw-r--r-- 1 root root 45 mars   4 00:26 /etc/adjtime
-rw-r--r-- 1 root root 105426 mars   2 09:12 /etc/ld.so.cache
-rw-r--r-- 1 root root 173 mars   3 11:01 /etc/apt/sources.list.d/vivaldi.list
-rw------- 1 root root 472 mars   3 19:54 /etc/NetworkManager/system-connections/pengouin
-rw-r--r-- 1 root root 465 mars   2 09:12 /etc/xml/docutils-common.xml
-rw-r--r-- 1 root root 3696 mars   2 09:12 /etc/xml/catalog
-rw-r--r-- 1 root root 3577 mars   2 09:12 /etc/xml/catalog.old
-rw-r--r-- 1 root root 339 mars   2 09:12 /etc/xml/docutils-common.xml.old
-rw-r--r-- 1 root root 60543 mars   2 12:42 /etc/mailcap
-rw-r--r-- 1 root root 466 août   4  2014 /etc/emacs/site-start.d/50python-docutils.el  <-----------------------!!!!!!!
-rw-r--r-- 1 root root 40 août   4  2014 /etc/sgml/docutils-common.cat          <------------------------- !!!!!!!
-rw-r--r-- 1 root root 323 mars   4 05:50 /etc/resolv.conf


find /etc -type f -ctime -20 -exec stat -c %y {} \; |sort |head


2006-08-10 17:45:25.000000000 +0200
2010-06-06 18:19:27.000000000 +0200
2010-06-06 18:19:27.000000000 +0200
2010-06-06 18:19:27.000000000 +0200
2011-10-10 21:49:37.000000000 +0200
2011-10-10 21:49:37.000000000 +0200
2012-06-07 11:15:57.000000000 +0200
2012-06-25 17:47:24.000000000 +0200
2014-01-01 14:51:37.000000000 +0100
2014-01-01 14:51:37.000000000 +0100


find /etc -type f -ctime -20 -exec stat -c %y {} \; |sort |tail


2017-03-02 09:12:14.526715509 +0100
2017-03-02 09:12:14.550715509 +0100
2017-03-02 09:12:14.578715509 +0100
2017-03-02 09:12:16.702715474 +0100
2017-03-02 12:42:28.786055407 +0100
2017-03-03 11:01:31.205840652 +0100
2017-03-03 19:54:38.165589141 +0100
2017-03-04 00:26:48.495917469 +0100
2017-03-04 05:50:28.484025993 +0100
2017-10-12 13:04:32.084923064 +0200


Le détail du pourquoi comment :
Voir le tuto : Le code, ça pique moins les yeux en couleur

Dernière modification par papy-tux (05-03-2017 01:56:30)

Hors ligne

#2 04-03-2017 12:46:54

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Recherche de fichiers par dates incohérente - Résolu

Je crois que je sais. Tu mélanges CTIME et MTIME. Illustration


-l     trier selon le nom et afficher la date de
              modification

              plus récente à la plus ancienne
       -t     trier selon la date de modification, de la  plus  récente  à  la
              plus ancienne


root@jo_lap:/home/implijer/Bureau# find /etc -type f -mtime -2 -exec ls -lt {} \;
-rw------- 1 root root 294 mars   3 12:46 /etc/wicd/wireless-settings.conf
-rw------- 1 root root 799 mars   3 12:46 /etc/wicd/wired-settings.conf
-rw------- 1 root root 484 mars   3 12:46 /etc/wicd/manager-settings.conf
-rw-r--r-- 1 root root 108219 mars   3 16:27 /etc/mailcap
-rw-r--r-- 1 root root 0 mars   4 09:56 /etc/samba/dhcp.conf
-rw-r--r-- 1 root root 65 mars   4 09:56 /etc/resolv.conf



-c     avec  -lt,  trier  selon  la  date  de modification « ctime » en
              l'affichant


root@jo_lap:/home/implijer/Bureau# find /etc -type f -ctime -2 -exec ls -ltc {} \;
-rw------- 1 root root 294 mars   3 12:46 /etc/wicd/wireless-settings.conf
-rw-r--r-- 1 root root 927 mars   3 12:46 /etc/wicd/dhclient.conf.template
-rw------- 1 root root 799 mars   3 12:46 /etc/wicd/wired-settings.conf
-rw------- 1 root root 484 mars   3 12:46 /etc/wicd/manager-settings.conf
-rw-r--r-- 1 root root 108219 mars   3 16:27 /etc/mailcap
-rw-r--r-- 1 root root 0 mars   4 09:56 /etc/samba/dhcp.conf
-rw-r--r-- 1 root root 65 mars   4 09:56 /etc/resolv.conf



Donc là pas d'incohérence (chez moi).
Là où c'est rigolo (comme toi) : chercher par date de création et afficher la date de modification :

root@jo_lap:/home/implijer/Bureau# find /etc -type f -ctime -2 -exec ls -tl {} \;
-rw------- 1 root root 294 mars   3 12:46 /etc/wicd/wireless-settings.conf
-rw-r--r-- 1 root root 927 déc.  12 17:44 /etc/wicd/dhclient.conf.template
-rw------- 1 root root 799 mars   3 12:46 /etc/wicd/wired-settings.conf
-rw------- 1 root root 484 mars   3 12:46 /etc/wicd/manager-settings.conf
-rw-r--r-- 1 root root 108219 mars   3 16:27 /etc/mailcap
-rw-r--r-- 1 root root 0 mars   4 09:56 /etc/samba/dhcp.conf
-rw-r--r-- 1 root root 65 mars   4 09:56 /etc/resolv.conf


...Veut dire que la date de de création de "/etc/wicd/dhclient.conf.template" est de décembre et la date de modif de mars.

Dernière modification par otyugh (04-03-2017 12:49:01)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#3 05-03-2017 01:55:33

papy-tux
Membre
Distrib. : Debian Jessie
Noyau : Linux 4.9.0-0.bpo.1-amd64
(G)UI : xfwm4
Inscription : 22-05-2014

Re : Recherche de fichiers par dates incohérente - Résolu

Bonsoir et merci à otyugh qui m'a mis sur la piste smile

Je me suis rendu compte que sur mon système il y avait beaucoup de fichiers et de dossiers qui avaient une date d'accès et/ou de changement et/ou de modification postérieure à la date du jour (en fait le 10 octobre 2017, probablement suite à une erreur lors d'un mise à l'heure manuelle du sytème).

Tous ces fichiers apparaissent lors d'une recherche sur les fichiers lors d'une recherche basée sur -atime -1 ou -ctime ou -mtime et polluent le résultat de la recherche.

Pour corriger cet aspect du problème, j'ai modifié les dates de ces fichiers et dossiers pour les mettre à la date courante.
Par exemple pour mettre à jour les fichiers de /etc qui ont un temps d'accès postérieur à la date courante : 

find /etc -type f -amin -1 -exec touch {} \;



De même avec les dossiers, de même avec les dates de changement et de modification avec -cmin ou -mmin).

Une fois cette mise à jour faite, la fonction recherche avec mtime donne des résultats cohérents avec ls, comme expliqué par otyugh.

Hors ligne

Pied de page des forums