[bash] Script de vérification

Fermé
boby203 Messages postés 19 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 - 5 sept. 2007 à 14:13
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 6 sept. 2007 à 10:42
Bonjour à tous !

Voilà le soucis, je dois écrire un script (en Bash de préférence) permettant de récupérer la dernière date de sauvegarde d'un fichier se trouvant sur un serveur (il y en aura plusieurs) puis la comparer à la date d'aujourd'hui, si celle ci a plus de 48h alors afficher un certain message et si elle a plus de 96h alors en afficher un autre.

Je vous remercie.

Et bonne journée à vous ;- )

6 réponses

boby203 Messages postés 19 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 1
5 sept. 2007 à 15:53
Up !

Bon je vais juste vous demander comment faire pour comparer la date de modif d'un fichier avec la date actuelle afin de savoir si d'une part il a plus de 48h ou plus de 96h.

Merci !
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
5 sept. 2007 à 16:02
Salut,

J'ai pas d'accès à un shell où je suis, mais regarde du côté de "find" et du paramètres "-ctime".
La commande "stat" aussi peut t'aider

:-))
0
boby203 Messages postés 19 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 1
5 sept. 2007 à 16:15
Si tu veux j'ai reussi à isoler la date de modif ainsi que l'heure. Ce qu'il me faut c'est juste la manip pour m'indiquer si le fichier a 48h ou 96h de plus que sa modif pour que je puisse ajouter cette à mon script.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
5 sept. 2007 à 17:24
[tmpfs]$ cat boby.sh

#! /bin/bash

for i in "$@"
do
if [ "$i" -lt 48 ]
then
        echo "$i est inférieur à 48"
elif [ "$i" -ge 48 -a "$i" -le 96 ]
then
        echo "$i est supérieur à 48 mais inférieur à 96"
else
        echo "$i est supérieur à 96"
fi
done

[tmpfs]$ ./boby.sh 48 74 65 99 21

48 est supérieur à 48 mais inférieur à 96
74 est supérieur à 48 mais inférieur à 96
65 est supérieur à 48 mais inférieur à 96
99 est supérieur à 96
21 est inférieur à 48

[tmpfs]$
;-))
0

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

Posez votre question
boby203 Messages postés 19 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 1
6 sept. 2007 à 10:14
Merci pour ce bout de commande ;-)

Et qu'est-ce que je pourrai écrire sachant que j'isole la date à savoir par exemple juste le 5 (septembre qui m'importe) et à partir de ça si cette date est +2 à la date d'aujourd'hui (donc au chiffre que j'isole aussi du coup exemple le 7) alors pb et si ell est à +4 alors gros pb!!

Merci d'avance !
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
6 sept. 2007 à 10:42
C'est pour ça que la commande find et l'option "-mtime" (ou "-atime") devrait être plus efficace dans la mesure où elle cherche directement en fonction des critères (+2 ou + 4).

Regarde la commande "stat" aussi.
0