Dernier message de la page précédente :
Donc le but1/c'est d'aller dans /var/lib/weewx
2/ Il contient des fichiers avec extensions for *.sdb
3/ Tu récupères leur date d'accès et ne prends que si plus vieux que 10 minutes
C'est bien ça ?
Dernier message de la page précédente :
Donc le butPourquoi alors boucler sur la totalité des fichiers contenu dans /var/lib/weewx/ si tu connais le nom exact du fichier ?
Essaie déjà lignes par lignes dans un terminal (on va travailler en temps unix Epoch https://fr.wikipedia.org/wiki/Heure_Unix )Le programme "meteo" met à jour ce fichier toutes les 5 mn et ce plugin est censé verifier que la base de données
se mets bien à jour, en gros d'apres ce que j'ai compris, si au bout de 10 mn , il ne s'est pas mis à jour, c'est qu'il y a un pb.
Code : Tout sélectionner
FILE=/var/lib/weewx/weewx.sdb
Code : Tout sélectionner
stat -c "%Y" $FILE
Code : Tout sélectionner
1704554014
Code : Tout sélectionner
date +%s
Code : Tout sélectionner
1704556203
Code : Tout sélectionner
#!/bin/bash
#
# ref: https://stackoverflow.com/questions/19463334/how-to-get-time-since-file-was-last-modifi>
#
FILE=/var/lib/weewx/weewx.sdb
stat -c "%Y" $FILE
date +%s
do
DIFF="$(($(date +%s) - $(date -r"${FILE}"+%s)))"
if [ ${DIFF} -gt 600 ]
then
echo -n "ERROR"
else
echo -n "OK "
fi
echo " ${FILE} was last modified ${DIFF} seconds ago"
done
echo ""
Code : Tout sélectionner
#!/bin/bash
#
# ref: https://stackoverflow.com/questions/19463334/how-to-get-time-since-file-was-last-modifi>
#
FILE=/var/lib/weewx/weewx.sdb
NOW="$(date +%s)"
LMD="$(stat -c %y ${FILE})"
LMDE="$(date +%s --date="$LMD")"
diff=$(($NOW - $LMDE))
if [ ${diff} -gt 600 ]
then
echo -n "ERROR"
else
echo -n "OK "
fi
echo " ${FILE} was last modified ${diff} seconds ago"
echo ""
Code : Tout sélectionner
#!/bin/bash
FILE=/var/lib/weewx/weewx.sdb
dateModif=$(stat -c "%Y" $FILE)
dateActuelle=$(date +%s)
tempsPasseSec=$(($dateActuelle - $dateModif))
# debugg
echo Modif: $dateModif
echo Actuelle : $dateActuelle
echo Tps passe : $tempsPasseSec
# 10 minutes 6000 Secondes
lapDeTemps=6000
if [ $tempsPassSec -gt $lapsDeTemps ]
then
echo "Temps supérieur au laps défini"
# Ici les actions que tu souhaites alors
else
echo "Temps inférieur au laps défini"
# Idem les actions à lancer
fi