Question Durée de création du fichier sous Windows vs Linux


Nous avons la configuration suivante:

  1. mountserver - debian linux
  2. serveur de fichiers1 - serveur de stockage Windows 2008 R2
  3. fileserver2 - Celerra NS20 exportant le partage CIFS
  4. station de travail - Windows 7 avec lecteur mappé à partager sur le serveur de fichiers2

Ce que nous faisons:

  • Partage monté à partir du serveur de fichiers1 sur le serveur de montage, par exemple. / shared / fileserver1
  • Partage monté à partir de Fileserver2 sur mountserver, par exemple. / shared / fileserver2
  • a exécuté rsync sur mountserver pour synchroniser les données de fileserver1 vers fileserver2.Utilisé en tant que paramètre pour synchroniser des données ne datant pas de X
  • après un certain temps essayé de supprimer les données antérieures à Y sur / shared / fileserver2.

D'après ce que je vois, la commande linux stat sur mountserver renvoie ce qui suit lorsque vous interrogez un fichier sur / shared / fileserver2:

Linux file timestamp

En même temps, lorsque j'ouvre une propriété pour le même fichier en utilisant un lecteur mappé connecté à fileserver2, je vois ce qui suit pour le même fichier:

Windows file timestamp

Comme vous pouvez le constater, la date de création du 12 août indiquée dans l'Explorateur Windows est introuvable.

Est-ce que j'ai râté quelque chose?


5
2018-04-24 11:23


origine




Réponses:


Linux ne stocke pas l'heure de création du fichier. Donc, vous ne pourrez pas voir de telles informations sur une machine Linux.

Voici un lien cela montre la structure de données inode. Tu peux trouver:

time_t                       i_atime;
time_t                       i_mtime;
time_t                       i_ctime;

Aucun de ceux-ci est le temps de création.


6
2018-04-24 11:32



Merci. Savez-vous plus de détails ou un lien qui le décrit? - Sergei
@Sergei: Je n'ai pas de référence pour cela maintenant, mais au moins vous pouvez regarder man ls et man stat. Vous ne trouverez aucune mention pour l'heure de création, mais vous pouvez trouver l'heure du changement, l'heure du dernier accès, etc. - Khaled
@Sergei: j'ai fourni un lien. - Khaled
J'ai demandé parce que votre réponse est un peu vague. Je comprends que c'est lié au système de fichiers.en.wikipedia.org/wiki/Ext4 Par exemple, «Ext4 ajoute également la prise en charge des horodatages créés par la date». - Sergei


La durée de création du fichier n’est stockée nulle part dans les partitions linux. Par conséquent, stat n’est affiché que comme suit:

atime (access time)
mtime (last modification time)
ctime (last status change)

3
2018-04-24 11:40





Certains systèmes de fichiers Linux récents prennent en charge des informations (au sein de leurs inodes) sur le temps de création de fichiers, telles que JFS, ext4 ou btrfs. Mais les systèmes de fichiers Unix et Linux traditionnels ne le supportaient pas. toute la chaîne d'outils n'est pas encore au courant de cette fonctionnalité.

Donc, même si les smbfs / cifs pourraient avoir accès à cette information, il y a aucun endroit n'a encore signalé cette information dans la structure de statistiques:

struct stat {
  dev_t     st_dev;     /* ID of device containing file */
  ino_t     st_ino;     /* inode number */
  mode_t    st_mode;    /* protection */
  nlink_t   st_nlink;   /* number of hard links */
  uid_t     st_uid;     /* user ID of owner */
  gid_t     st_gid;     /* group ID of owner */
  dev_t     st_rdev;    /* device ID (if special file) */
  off_t     st_size;    /* total size, in bytes */
  blksize_t st_blksize; /* blocksize for file system I/O */
  blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
  time_t    st_atime;   /* time of last access */
  time_t    st_mtime;   /* time of last modification */
  time_t    st_ctime;   /* time of last status change */
};

2
2018-06-06 16:18