Forum Programmation.shell Temps depuis le dernier arret

Posté par . Licence CC by-sa
Tags : aucun
3
3
mai
2013

Bonjour,

Je cherche à connaitre le temps depuis la dernière extinction du système (même brutale).
Mais je ne sais pas où trouver cette info.
Le petit bonus serai de savoir différencier un arret fait proprement d'une coupure de courant.

Pour la petite histoire, le but c'est de savoir (avec mon raspberry pi) combien de temps a pu durer une coupure de courant pour par exemple savoir si ce qui est dans le congélo a pas trop morflé.

Si vous avez une idée de comment faire ça, ça serai sympas.

Merci d'avances pour vos réponses.

  • # uptime ?

    Posté par (page perso) . Évalué à -1.

    uptime
    08:46:52 up 13:04

    • [^] # Re: uptime ?

      Posté par (page perso) . Évalué à 4.

      Le monsieur a dit depuis le dernier arrêt…

      À part fouiller manuellement dans /var/log pour les derniers logs qui datent d'avant les messages de boot du noyau courant, je ne crois pas qu'il y ait de solutions de base. Pistes : un syslog configuré pour écrire toutes les n minutes « je suis vivant », un munin qui graphe la valeur d'uptime avec alerte quand il retombe sous la barre des 15 minutes…

      • [^] # Re: uptime ?

        Posté par . Évalué à 2.

        effectivement :
        - un signal de vie dans une crontab,
        - une base de données sqlite,
        - une API simple en shell ou langage scripté,

        voila tous les ingrédients pour mesurer les coupures électriques sans prise de tête, à peu de frais.

        • [^] # Re: uptime ?

          Posté par . Évalué à 1.

          j'avais pensé a une truc dans le genre
          Par contre je pensais plus écrire un timestamp dans un fichier et le lire au démarrage parce que SQLite pour ça même si c'est lite ça fait quand même gros comme arme pour écraser une mouche non?

          En tout cas merci pour vos réponses…

          • [^] # Re: uptime ?

            Posté par . Évalué à 2.

            au passage, ça marche aussi pour une machine qui est en veille. C'est donc assez sympa pour réaliser les tests de le faire comme ca, plutot que d'éteindre systématiquement la machine.

            pour te répondre :
            - un timestamp dans un fichier est sans doute un bon compromis
            - un fichier texte (éventuellement en CSV) pour enregistrer l'historique.

  • # uptimed

    Posté par . Évalué à 5.

    Uptimed (et non "uptime") enregistre les dates de démarrage et les durées d'allumage (par extension, on peut calculer le moment où il s'est éteint).

    • [^] # Re: uptimed

      Posté par . Évalué à 4.

      ça a l'air pas mal mais ça fait l'inverse de ce que je veux.

      Du coup je me suis dit on va chercher downtime dans google (bin ouai c'est ça le mot clé magique que j'ai pas été capable de trouver hier) Bref le premier lien ma amené la dessus : http://dist.epipe.com/downtimed/
      et apparemment y'a un paquet downtimed dans les dépots debian (comme pour uptimed d'ailleurs).

      Merci d'avoir répondu et bon week end.

  • # Logs

    Posté par (page perso) . Évalué à 2.

    Au démarrage et à l'extinction, il me semble que des fichiers journaux sont écrit, et chaque ligne est datée.

  • # Est-ce la bonne mesure ?

    Posté par . Évalué à 4.

    Je me pose des questions sur la fiabilité de la mesure ?

    Vaut-il mieux un congélo éteint 3 jours, toujours fermé avec une température exterieure de 10°C, ou un congélo éteint 1 jour, qui aura été ouvert douze fois avec une température extérieure de 35°C ?

    Perso dans mon congélo j'ai un termometre qui enregistre le maximum de température relevé, et c'est cette mesure qui me sert de réference pour savoir si ça n'a pas trop morflé.

    J'ai le souvenir de congélateurs de type coffre à cadavre de bébés qui sont restés 4 jours sans courant après la tempête de 1999, n'ayant pas été ouvert et vu la température exterieure le maximum atteint a été de -17°C.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.