Le Wed, 6 Mar 2019 22:31:29 +0100 (CET),
[email protected] a écrit :

> Salut tout le monde,
> 
> J'ai fait un petit script pour tester si un serveur est en ligne sur
> un réseau. Si le serveur est en ligne un fichier de conf prend un
> certain contenu, dans le cas contraire il prend un autre contenu.
> Jusque là c'est simple. Le problème c'est de faire en sorte que le
> fichier de conf ne reçoive pas le contenu en permanence. Est-ce que
> ce genre de problème parle à quelqu'un?

À vue de nez, ton script doit mémoriser le dernier état mesuré. Il y a
un changement d'état, quand le serveur passe de "en-ligne" à
"hors-ligne" ou le contraire. Dans ce cas, il faut mettre à jour le
fichier de configuration en fonction de l'état du serveur.

Exemple en pseudo-code Python.

"""""""""""""""""""""""""""""""""""""""""
#/usr/bin/python3
serveurÉtaitEnLigne = False

enLigne = testeEnLigne() # Retourne True si le serveur est en ligne,
                         # False sinon.

if enLigne != serveurÉtaitEnLigne:
    serveurÉtaitEnLigne = enLigne
    if enLigne:
        configuration = "Configuration pour en ligne"
    else:
        configuration = "Configuration pour hors ligne"
"""""""""""""""""""""""""""""""""""""""""

En bash, tu peux créer un fichier pour mémoriser l'état (mktemp par ex.)
et utiliser flock pour éviter la réentrance si la requête réseau tarde
trop.

-- 
Christophe HENRY
FR EO EN - http://sbgodin.fr

Attachment: pgpXQTCJpZJ7f.pgp
Description: Signature digitale OpenPGP

_______________________________________________
libre mailing list
[email protected]
https://brassens.heberge.info/cgi-bin/mailman/listinfo/libre

Répondre à