Synchronisation du timestamp uniquement
Résolu
IvyAlice
Messages postés
379
Date d'inscription
Statut
Membre
Dernière intervention
-
IvyAlice Messages postés 379 Date d'inscription Statut Membre Dernière intervention -
IvyAlice Messages postés 379 Date d'inscription Statut Membre Dernière intervention -
Bonjourà tous,
Est-ce que quelqu'un saurait me dire s'il est possible ou non de synchronisé les timestamps (pas les données, que les timestamps) de données sur un serveur avec les mêmes données sur une autre machine ?
j'ai copié des données avec la mauvaise option de cp et maintenant elles ont la date de restauration comme date de créationsur la seconde machine, et j'aimerais 'récupérer' les vrai dates de création des données.
Merci d'avances.
Est-ce que quelqu'un saurait me dire s'il est possible ou non de synchronisé les timestamps (pas les données, que les timestamps) de données sur un serveur avec les mêmes données sur une autre machine ?
j'ai copié des données avec la mauvaise option de cp et maintenant elles ont la date de restauration comme date de créationsur la seconde machine, et j'aimerais 'récupérer' les vrai dates de création des données.
Merci d'avances.
A voir également:
- Synchronisation du timestamp uniquement
- Synchronisation agenda google et outlook - Guide
- Synchronisation favoris chrome - Guide
- Synchronisation en pause google - Forum Google Chrome
- Logiciel synchronisation audio vidéo gratuit - Télécharger - TV & Vidéo
- Entete uniquement sur la premiere page word ✓ - Forum Bureautique
10 réponses
sachant qu'on est mercredi 15h CET, ajouter au find pour ne trouver que les fichier de lundi avant 15h:
find . -mtime +2 -print
si il faut une plus grande précision:
touch -t 0911300600.00 /tmp/t1 # je crée un fichier daté du 30 nov 2009 à 6h 0m 0s
et on cherche les fichiers plus anciens (not newer)
find . ! -newer /tmp/t1 -print
pour ne chercher que les fichiers et pas les répertoires, ajouter au find:
-type f
find . -mtime +2 -print
si il faut une plus grande précision:
touch -t 0911300600.00 /tmp/t1 # je crée un fichier daté du 30 nov 2009 à 6h 0m 0s
et on cherche les fichiers plus anciens (not newer)
find . ! -newer /tmp/t1 -print
pour ne chercher que les fichiers et pas les répertoires, ajouter au find:
-type f
Bonjour,
tu parles de la date de création ls -lc ou de la date de modification ls -l ?
Attention : Linux ne fonctionne pas comme Windows.
Windows gère trois dates : création, modification et accès.
Linux gère également trois dates, mais pas les mêmes : modification, accès et changement.
Il n'y a pas de date de création en Linux, et st_ctime n'a pas le même sens qu'en Windows, il donne la dernière date de changement d'un attribut.
Manu
tu parles de la date de création ls -lc ou de la date de modification ls -l ?
Attention : Linux ne fonctionne pas comme Windows.
Windows gère trois dates : création, modification et accès.
Linux gère également trois dates, mais pas les mêmes : modification, accès et changement.
Il n'y a pas de date de création en Linux, et st_ctime n'a pas le même sens qu'en Windows, il donne la dernière date de changement d'un attribut.
Manu
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je ferais ça (à tester):
SRC=/dir/source DST=/dir/destination cd $SRC for FILE in $(find . -print) ; do touch -c $DST/$FILE --reference=$FILE done
Salut Manu,
Oui en fait , je me suis mal exprimée, c'est la dernière date de modification que je souhaite conserver.
Merci dubcek, je vais tester.
Ivy
Oui en fait , je me suis mal exprimée, c'est la dernière date de modification que je souhaite conserver.
Merci dubcek, je vais tester.
Ivy
Merci Dubcek,
La ligne touch fonctionne .
J'ai juste encore un problème, c'est que depuis, des fichiers ont été modifié, et je ne souhaite appliquer le touch qu'aux fichiers dont la date de modif est plus vieille que lundi matin.
Existe-t-il un moyen de comparer la date/heure d'un fichier avec une date/heure donnée ?
(j'ai trouvé la commande newer mais elle ne retourne jamais rien)
Merci beaucoup.
Ivy
La ligne touch fonctionne .
J'ai juste encore un problème, c'est que depuis, des fichiers ont été modifié, et je ne souhaite appliquer le touch qu'aux fichiers dont la date de modif est plus vieille que lundi matin.
Existe-t-il un moyen de comparer la date/heure d'un fichier avec une date/heure donnée ?
(j'ai trouvé la commande newer mais elle ne retourne jamais rien)
Merci beaucoup.
Ivy
Merci Dubcek,
Avec ça j'ai toutes les clefs en main pour faire le scripte dont j'ai besoin.
Encore Merci,
Ivy
Avec ça j'ai toutes les clefs en main pour faire le scripte dont j'ai besoin.
Encore Merci,
Ivy
Voilà le scripte, Donc là ça restaure groupeTEST selon le même chemin sur le disque dure externe
et avant ça un
touch -t 11300630 /home/user/limitedate
pour lui donner la date souhaitée
............................................................................................................
#!/bin/bash
logfile="/home/user/logtestdate.log"
srcPath="/media/usb/DATA"
dest="/data/groupes/groupeTEST"
debutdate=`date`
echo "$debutdate DEBUT" >>$logfile
#créer la liste des fichiers dont la date est a updater
find $dest ! -newer /home/user/limitedate -print > /home/user/list
cat /home/user/list |
while read g
do
srcfile=$(echo "$g"|cut -d/ -f3-) # prend tous le nom du chemin à partir du 3ème champs
echo "$g prend la date de $srcPath/$srcfile"
touch -c --reference="$srcPath"/"$srcfile" "$g" 2>>$logfile
done
debutdate=`date`
echo "$debutdate FIN" >> $logfile
............................................................................................................
il est pas parfait mais il servira p-e un jour à quelqu'un
Ivy
et avant ça un
touch -t 11300630 /home/user/limitedate
pour lui donner la date souhaitée
............................................................................................................
#!/bin/bash
logfile="/home/user/logtestdate.log"
srcPath="/media/usb/DATA"
dest="/data/groupes/groupeTEST"
debutdate=`date`
echo "$debutdate DEBUT" >>$logfile
#créer la liste des fichiers dont la date est a updater
find $dest ! -newer /home/user/limitedate -print > /home/user/list
cat /home/user/list |
while read g
do
srcfile=$(echo "$g"|cut -d/ -f3-) # prend tous le nom du chemin à partir du 3ème champs
echo "$g prend la date de $srcPath/$srcfile"
touch -c --reference="$srcPath"/"$srcfile" "$g" 2>>$logfile
done
debutdate=`date`
echo "$debutdate FIN" >> $logfile
............................................................................................................
il est pas parfait mais il servira p-e un jour à quelqu'un
Ivy