IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Bash: date de modification


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    retraite
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut Bash: date de modification
    Bonjour,

    J'utilise un script bash pour sauvegarder les fichiers modifiés sur un disque externe
    Les fichiers modifiés sont détectés selon la date de modification
    La copie s'effectue avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cp -p fichier_source fichier_cible

    Depuis le changement d'horaire intervenu hier, les dates de modifications sont décalées de 1 heure
    Par exemple
    pour le fichier source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ date   +%Y-%m-%d-%H:%M -r FILE0145.JPG
    2010/08/27-17:39
    pour le fichier cible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ date   +%Y/%m/%d-%H:%M -r FILE0145.JPG
    2010/08/27-16:39
    Le premier à 17h39, et le second à 16h39

    la commande date +%z -r FILE0145.JPG renvoie +0200 pour les deux fichiers
    Avec l'option -u de la commande date, les dates sont également décalées d'1 heure.

    Pourquoi ce décalage d'1 heure entre les fichier?
    Merci

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Si le disque externe contient un système de fichiers en FAT32, l'interprétation des champs date est assez insoluble (même sous Windows) . Le mieux est soit de stocker la date correcte des fichiers dans un fichier séparé, soit de renommer les fichiers en incluant un horodatage complet y compris le fuseau horaire.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    retraite
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut
    Effectivement le disque externe est formaté en FAT32, ceci pour pouvoir l'utiliser avec Windows ou Mac.
    Stocker les dates ou renommer les fichiers serait est trop lourd et trop contraignant.
    Par contre j'aimerai connaitre la cause du probléme pour savoir pourquoi c'est assez insolubre et
    peut-être trouver une solution plus appropriée.

    J'essaye donc de trouver une réponse aux questions suivantes:
    La commande cp place dans le fichier en ext3 la date et le fuseau horaire, ou seulement la date?
    de même la commande cp place dans le fichier fat32 la date et le fuseau horaire, ou seulement la date,
    et si oui, la date universelle ou la date locale ?

    Pour l'instant j'ai modifié le script pour sauvegarder les fichiers modifiés depuis plus d'une heure,
    c'est à dire en retirant 1 heure au fichier source (et ne le faire qu'aux heures d'été)

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Le problème est intrinsèque à FAT32 qui stocke l'heure locale sans indication du fuseau horaire et sans appliquer la correction de l'heure d'été. La solution est de passer sous NTFS qui comme les systèmes de fichiers Unix, stocke ses timestamps en UTC.

    Lire par exemple cette page.

  5. #5
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 348
    Par défaut
    Bonjour,

    Peut-être que l'option de montage pour la fat ci-dessous peut résoudre le problème (pas testé et pas sur d'avoir tout compris ) :
    tz=UTC This option disables the conversion of timestamps between local time (as used by Windows on FAT) and UTC (which Linux uses internally).
    This is particularly useful when mounting devices (like digital cameras) that are set to UTC in order to avoid the pitfalls of local time.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    retraite
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut
    Merci disedorgue pour l'information.
    Je n'ai également pas très bien compris, et ne suis donc pas sûr de possibles répercussions sur l'utilisation des dates.
    Je vais plutôt opter pour un reformatage du disque en NTFS (voir message suivant)

    cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperation de la date de modification dans access
    Par cyberm41 dans le forum Access
    Réponses: 5
    Dernier message: 07/10/2005, 16h08
  2. Date de modification d'un champs
    Par Samish dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/09/2005, 12h34
  3. [MFC] Recuperation de la date de modification
    Par lastcheper dans le forum MFC
    Réponses: 3
    Dernier message: 21/04/2005, 17h33
  4. Réponses: 20
    Dernier message: 17/03/2005, 15h26
  5. [langage] Date de modification d'un fichier
    Par Cyspak dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2003, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo