Obtenir le fichier le plus récent

Fermé
jean.mi85 Messages postés 10 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 8 mars 2007 - 15 févr. 2007 à 14:59
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 15 févr. 2007 à 15:43
Salut à tous !

J'aimerais savoir s'il existe une commande ou un petit script pour comparer les dates de deux fichiers et avoir en sortie le fichier le plus récent. Tout cela dans le but d'automatiser la mise à jour d'un firmware.

J'ai tenté le "ls -all" suivi du "cut" pour récuperer les deux dates de modification de chaque fichier, mais je suis bloqué à cet endroit là. Je ne sais pas comment les comparer... J'avais pensé à cette méthode puisque le fichier de mise à jour est placé seul dans un répertoire d'un serveur. Ainsi, il est est par conséquent le plus récent.

Mon but est le suivant : Le firmware de l'appareil à mettre à jour vérifie (à l'aide de sa crontable) chaque heure si le fichier présent dans le répertoire du serveur est plus récent. Mais je suis bloqué car je ne sais pas comment faire pour que le firmware se rende compte que le fichier sur le serveur est plus récent que celui qu'il a actuellement...

J'espère ne pas avoir été trop incompréhensible. :)

Merci d'avance pour vos réponses ! ;)
A voir également:

5 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 févr. 2007 à 15:02
Salut,

as-tu pensé d'utiliser l'option -t de la commande ls?


-t
Trier le contenu des répertoires en fonction de la date et non pas en ordre alphabétique. Les fichiers les plus récents sont présentés en premier.
0
jean.mi85 Messages postés 10 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 8 mars 2007
15 févr. 2007 à 15:21
Merci de ta réponse.

Oui j'ai déjà testé. On trie bien les fichiers par ordre chronologique et on obtient par conséquent le fichier le plus récent en haut de la liste. On pourrait donc en effet classer les diverses mises à jour sur le serveur. Mais le majeur problème est le fait qu'il faille comparer la date du fichier présent sur la borne WiFi (dont le firmware est à mettre à jour) avec celui présent sur le serveur pour savoir si la mise à jour est nécessaire. :)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
15 févr. 2007 à 15:22
Hello,
La commande test peut aussi être utile:

FILE1 -nt FILE2
FILE1 is newer (modification date) than FILE2
FILE1 -ot FILE2
FILE1 is older than FILE2
0
jean.mi85 Messages postés 10 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 8 mars 2007
15 févr. 2007 à 15:30
J'ai pensé également à cette commande mais visiblement ma ditrib Debian présente sur mon serveur ne connaît pas cette commande. Quand j'essaie sur ma borne WiFi (OpenWRT), elle ne veut rien savoir non-plus... :'(

En fait, je pense plutôt qu'il va me falloir faire un petit script qui récupère les dates de modification de deux fichiers et qui en déduit le plus récent. ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
15 févr. 2007 à 15:43
Une fois les fichiers trouvés, il est possible d'utiliser la commande date pour convertir n'importe quel date genre JJ/MM/AAAA hh:mm:ss en secondes pour faire des comparaisons numériques dans un script.
0