Bonjour,
C’est la date de dernière modification que tu veux?
Car il y a trois date il me semble:
ctime, atime et mtime: création, accès et modification.
Mais tu peux utiliser la fonction stat :
merci bcp pour ton retour
je souhaite la date de modification du dossier( le but cest juste de savoir si je recois bien des données chaque jour dans de ce dossier si cest pas le cas cest dc que le dossier ne se met pas à jour ds la journee cest qu il n y a pas eu de depot… le but est de mettre une alerte zabbix ou autre par la suite pour m alerter)
=> cest qu au final un hyperviseur zabbix ou autre lance le script affiche ok si datedujour=date dossier (juste le jour pas besoin de lheure) et nok sinon
tes fichiers viennent d’où? quel genre de fichiers est-ce? est-ce une synchro d’une source quelconque? ou des fichiers déposés par exemple par des utilisateurs?
As tu un traitement sur ces fichiers?
une autre solution peux aussi consister à faire un checksum sur les ficheirs et de faire un diff entre le checksum precedent et le checksum courant, et ca te donne la liste des nouveaux fichiers, s’il n’y en a pas c’est que tu n’as pas eu de nouveaux fichiers.
ca provient dun fournisseur externe via ftp ce sont des fichiers qui arrivent chaque jour ( pas besoin detre hyper precis sur le nombre de fichier) simplemnt sassurer qu il y a eu d depot chaque jour ( lancer le script simplement une a 2 fois par jour) pr voir si la date de modification.correspond à la date du jour.
C’est le(s) même(s) fichier tous les jours (même nom?)?
car sinon c est facile, tu fait une liste des fichiers à minuit, tu la compare à celui du jour précédent.
Le résultat te donne les ficheirs reçus.
si les noms sont identiques, alors le checksum fera l’affaire, car le même fichier avec des contenu différent ou simplement une date différente aura un checksum différent.
Ensuite suffit de comparer le contenu des checksum. C’est plus simple et nettement plus rapide que de faire un script avec les dates etc… Juste quelques commandes à faire.
bonjour
justement je ne veux pas la liste des fichiers reçu, je veux juste savoir si le dossier a modifié sa date du jour… le but cest juste denvoyer un ok ou ko à un hyperviseur de supervision, l hyperviseur peut lancer le script sur la machine et recuperer ce ok ou ko pr lafficher
La dernière modification du répertoire ~/repTest/ a été faite le 29 décembre à 03:21
quand le fichier ~/repTest/fichier.txt y a été créé :
michel@ubuT450:~$ ls -la ~/repTest/
total 8
drwxrwxr-x 2 michel michel 4096 déc. 29 03:21 .
drwxr-xr-x 20 michel michel 4096 déc. 30 09:02 ..
-rw-rw-r-- 1 michel michel 0 déc. 29 03:21 fichier.txt
michel@ubuT450:~$
Je créé une variable qui contient la date/heure d’il y a un jour
et une autre qui contiendra la date/heure de dernière modification du répertoire ~/repTest/
ce qui affichera : Ok si repertoire01 a été modifié ces dernières 24 heures
et qui affichera : Ko si repertoire01 n’a pas été modifié durant ces dernières 24 heures
Je n’avais pas fait attention,
mais tu as sans doute fait une petite erreur de frappe,
car la première ligne d’un script que l’on voudrait voir être interprété par bash
devrait plutôt être :
#!/bin/bash
Pour info, dans un script,
cette première ligne est nommée shebang
merci ça marche tres bien!
juste pour ma compréhension tu dis que tu compare les 2 valeurs « derniere modif » et « dateilya24h »
pourquoi ‹ %Y › qui correspond à l’année? et non pas le temps ‹ +%s ›= temps UTC depuis 1970… comme dans ta variable il y a 24H?
lorsque tu compares avec le ‹ -gt › veut dire quoi si les 2 valeurs sont différentes alors fichier bien modifié? si temps >0 alors il y a eu modification?
merci de ton aide