Stromausfallzeiten Festhalten (Dauer Zeit Datum)

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Ework
Beiträge: 401
Registriert: 11.07.2006 02:33:41
Wohnort: Heidelberg

Stromausfallzeiten Festhalten (Dauer Zeit Datum)

Beitrag von Ework » 07.02.2007 00:32:55

Hallo,
ich habe folgendes Script für mich angelegt um auf den laufenden zu sein wann (Datum) um welche Zeit (Uhr) Stromausfall ist.
Da ich auch manchmal über mehrere Tage wegfahre und mein PC automatisch wieder bootet wenn wieder strom vorhanden ist find ich diese alternative am besten.

Script:

Code: Alles auswählen

date >> /home/dauerlauf/public_html/stromausfall.txt "+%R Uhr %Y-%m-%d"
cron eintrag:

Code: Alles auswählen

*/5 * * * * cd /home/dauerlauf; ./stromscript >/dev/null 2>&1
ausgabe in die txt datei:

Code: Alles auswählen

08:40 Uhr 2007-01-27
08:45 Uhr 2007-01-27
08:50 Uhr 2007-01-27
08:55 Uhr 2007-01-27
09:00 Uhr 2007-01-27
09:05 Uhr 2007-01-27
09:10 Uhr 2007-01-27
09:15 Uhr 2007-01-27
09:20 Uhr 2007-01-27
09:25 Uhr 2007-01-27
09:30 Uhr 2007-01-27
09:35 Uhr 2007-01-27
09:40 Uhr 2007-01-27
09:45 Uhr 2007-01-27
09:50 Uhr 2007-01-27
09:55 Uhr 2007-01-27
10:00 Uhr 2007-01-27
10:05 Uhr 2007-01-27
10:10 Uhr 2007-01-27
10:15 Uhr 2007-01-27
Da Stromausfall recht selten vorkommt kann man sich ja nun vorstellen das die Liste hier extrem lang wird.
Gibts es ein Standard Tool das ich nutzen kann das die unregelmässigkeiten dort rausfiltert und in eine txt Datei schreibt?
Wenn man die Ausgabe als Standard betrachtet und mal sowas drin vorkommt:

Code: Alles auswählen

09:05 Uhr 2007-01-27
--> 09:10 Uhr 2007-01-27
--> 09:20 Uhr 2007-01-27
09:25 Uhr 2007-01-27
09:30 Uhr 2007-01-27
09:35 Uhr 2007-01-27
09:40 Uhr 2007-01-27
09:45 Uhr 2007-01-27
--> 09:50 Uhr 2007-01-27
--> 10:15 Uhr 2007-01-27
Das Tool sollte die Zeilen die mit dem Pfeil makiert sind in eine extra TXT Datei abspeichern.

Das simple uptime vom PC nützt mir nichts da ich so nur sehe wann ein ausfall war aber nicht wie lang!

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: Stromausfallzeiten Festhalten (Dauer Zeit Datum)

Beitrag von herrchen » 07.02.2007 00:41:15

Ework hat geschrieben: Da Stromausfall recht selten vorkommt kann man sich ja nun vorstellen das die Liste hier extrem lang wird.
ich würde das (spontan) so machen:
am ende der bootphase ein script aufrufen, was den zeitstempel des letzten regulären eintrags im syslog rauspuhlt und selbst noch einen zeitstempel in die kontrolldatei schreibt.

herrchen

Ework
Beiträge: 401
Registriert: 11.07.2006 02:33:41
Wohnort: Heidelberg

Re: Stromausfallzeiten Festhalten (Dauer Zeit Datum)

Beitrag von Ework » 07.02.2007 02:44:46

herrchen hat geschrieben:
Ework hat geschrieben: Da Stromausfall recht selten vorkommt kann man sich ja nun vorstellen das die Liste hier extrem lang wird.
ich würde das (spontan) so machen:
am ende der bootphase ein script aufrufen, was den zeitstempel des letzten regulären eintrags im syslog rauspuhlt und selbst noch einen zeitstempel in die kontrolldatei schreibt.

herrchen
ich möchte es ja nicht anders machen. sondern aus meiner textdatei die betreffenden unregelmässigkeiten in eine andere txt datei automatisch einfügen lassen.

Wenn ich nur nach dem Start gehe kann ich nicht wissen wann der Rechner off gegangen ist durch Stromausfall. Und somit kann ich wieder nicht wissen wie lange der Stromausfall war. Ich ersehe bei deiner Methode nur wann er mit booten fertig ist.

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: Stromausfallzeiten Festhalten (Dauer Zeit Datum)

Beitrag von herrchen » 07.02.2007 03:33:09

Ework hat geschrieben: ich möchte es ja nicht anders machen.
gut, aber dazu fällt mir keine vernünftige lösung ein.

verbesserter vorschlag:
du hängst deinen zeitstempel nicht hinten an, sondern hältst nur den *aktuellen* in der textdatei:

Code: Alles auswählen

date > /home/dauerlauf/public_html/stromausfall.txt "+%R Uhr %Y-%m-%d" 
sollte nun der strom ausfallen, lässt du am ende des boot vorgangs einen job laufen, der den eintrag aus der textdatei holt und zusammen mit einem aktuellen zeitstempel und dem vermerk "reboot" an eine "ausfälle.txt" (mit >>) anhängt.

dann hast du in der datei "ausfälle.txt" stets zwei zeilen pro stromausfall.

/EDIT:
Ework hat geschrieben:Ich ersehe bei deiner Methode nur wann er mit booten fertig ist.
dazu wollte ich ja den letzten eintrag (vor dem reboot) aus dem syslog fischen. bei einem wenig ausgelasteten rechner sind aber womöglich sehr selten einträge dort.

dein vorgehen hat folgenden nachteil:
eintag um 10.05, stromausfall von 10.06 bis 10.08, der rechner bootet und schreibt regulär den eintrag für 10.10 --> fällt nicht auf.

herrchen
Zuletzt geändert von herrchen am 07.02.2007 04:03:11, insgesamt 2-mal geändert.

yeti

Beitrag von yeti » 07.02.2007 03:41:19

man 5 crontab hat geschrieben:@reboot Run once, at startup.
Das wird wohl auch in 'ner Usercrontab klappen (ungetestet meinerseits, mag jetzt nicht Rebooten!) und dürfte damit eine der einfachsten Methoden sein, ein User-Script an den Reboot zu koppeln.

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Beitrag von 123456 » 07.02.2007 08:21:58

OT:
@yeti: müsste Dein Footer nicht lauten:

Code: Alles auswählen

echo $(host debianforum.de |head -n1 |cut -d" " -f4)  www.pro-linux.de pro-linux.de >>/etc/hosts 
...aber mich geht Dein Ärger ja eigentlich nix an...;)

yeti

Beitrag von yeti » 07.02.2007 12:20:39

ub13 hat geschrieben:OT:
@yeti: müsste Dein Footer nicht lauten:

Code: Alles auswählen

echo $(host debianforum.de |head -n1 |cut -d" " -f4)  www.pro-linux.de pro-linux.de >>/etc/hosts 

Code: Alles auswählen

(yeti@vash:1)~$ host debianforum.de
debianforum.de          A       213.239.213.245
...offensichtlich einzeilig und Adresse als 3tes Feld...
Weiß der Guggugg, wieviele Versionen von "host" rumschwirren...
ub13 hat geschrieben:...aber mich geht Dein Ärger ja eigentlich nix an...;)
Das ist schon mein (mich) Ärger(n)... stimmt... ich ärgere mich so oft über die Kommentare dort, so daß ich das dortige Informatuins-zu-Adenalin-Verhältnis für nicht tragbar halte und meine Präferenz augenzwinkernd durch den Footer ausdrücken wollte...

...und jetzt hab ich 'n schechtes Gewissen für das viele OT-Zücks...

Benutzeravatar
LessWire
Beiträge: 558
Registriert: 21.11.2004 04:36:04
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bavaria

Beitrag von LessWire » 08.02.2007 00:36:27

Hallo eWork,

ich würde nicht mit "date" sondern mit "uptime" arbeiten. Genauer wirds zwar nicht, aber es entgeht Dir selbst der kürzeste Stromausfall nicht mehr und die kontinuierlich grösser werdende Zeitstempel-Datei brauchts auch nicht.

vg, L.W.
at ~ now.

Ework
Beiträge: 401
Registriert: 11.07.2006 02:33:41
Wohnort: Heidelberg

Beitrag von Ework » 08.02.2007 01:39:20

LessWire hat geschrieben:Hallo eWork,

ich würde nicht mit "date" sondern mit "uptime" arbeiten. Genauer wirds zwar nicht, aber es entgeht Dir selbst der kürzeste Stromausfall nicht mehr und die kontinuierlich grösser werdende Zeitstempel-Datei brauchts auch nicht.

vg, L.W.
uptime Zeigt mir aber kein Datum an. Und wenn ich das per cron starte wird die datei auch immer grösser. Wenn ich es per Hand starte dann seh ich nicht was vorher war.

Kannst du mir bitte etwas genauer beschreiben wie du das meinst?
Vieleicht einmal per Booten in eine Datei schreiben lassen? Aber dann Fehlt ja leider wieder das Datum.
Vielen dank.

Benutzeravatar
LessWire
Beiträge: 558
Registriert: 21.11.2004 04:36:04
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bavaria

Beitrag von LessWire » 08.02.2007 03:18:52

Ich würds jetzt einfach so machen (ohne uptime, viel einfacher):

Warum schreibst Du Datum und Zeit nicht einfach fortlaufend bei jedem Bootvorgang in eine Datei ?

Das ergäbe:

Anzahl Zeiteinträge -1 = Anzahl Stromausfälle
Jeweilige Dauer leicht errechenbar

Voraussetzung war ja, das der Rechner nach Stromausfall wieder automatisch bootet, oder?
Dann sollte es doch so einfach funktionieren oder hab ich was übersehen (ist schliesslich schon etwas spät) :-)

EDIT:
Alternativ hierzu siehe "man last". Mit "last" kann man neben den logins diverser User auch unter dem Pseudouser "reboot" sehen, wann das System neu gebootet hat. Müsstest halt logrotate ggf. anpassen um passende Zeiträume einzustellen, da standardmässig 2 Logs für 2 Wochen erstellt werden.
at ~ now.

Ework
Beiträge: 401
Registriert: 11.07.2006 02:33:41
Wohnort: Heidelberg

Beitrag von Ework » 09.02.2007 06:57:02

LessWire hat geschrieben:Ich würds jetzt einfach so machen (ohne uptime, viel einfacher):

Warum schreibst Du Datum und Zeit nicht einfach fortlaufend bei jedem Bootvorgang in eine Datei ?
Weil ich so die dauer komplett habe von ersten reboot bis nächsten reboot somit kann ich die ausfallzeit nicht errechnen.

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 09.02.2007 07:45:22

Ich würde Herrchens Lösung benutzen - einen Zeitstempel aktuell in einer datei halten.
Bei einem Reboot muss VOR dem starten von cron diese Datei ausgewertet werden.

Somit hast du:

- datum+Zeit wird geschrieben....
- datum+Zeit wird geschrieben....
- datum+Zeit wird geschrieben....
- datum+Zeit wird geschrieben....
*STROMAUSFALL RECHNER TOT*
- reboot
- Auswertung ganz am anfang des bootvorganges
- Normale weitere operation

Das Problem ist, dass so auch nicht-stromausfälle dokumentiert werden, wenn du zb deinen Rechner neu bootest.
Perl macht Spass.

Benutzeravatar
LessWire
Beiträge: 558
Registriert: 21.11.2004 04:36:04
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bavaria

Beitrag von LessWire » 10.02.2007 03:27:28

Weil ich so die dauer komplett habe von ersten reboot bis nächsten reboot somit kann ich die ausfallzeit nicht errechnen.
Na, das stimmt natürlich, es war halt schon spät :oops:

Mir gefällt der extra Cron-Job nicht.

Noch eine Idee, nur mal so:
Timestamp für's syslog z.B. auf 5 Minuten stellen, dann lässt sich die Ausfallzeit anhand Zeitdifferenzen >5 Minuten ganz gut berechnen. Notfalls noch die logrotate-Zeiten anpassen, damit die Logdatei nicht zu häufig gesplittet wird.
at ~ now.

Ework
Beiträge: 401
Registriert: 11.07.2006 02:33:41
Wohnort: Heidelberg

Re: Stromausfallzeiten Festhalten (Dauer Zeit Datum)

Beitrag von Ework » 20.06.2007 13:28:20

herrchen hat geschrieben:
Ework hat geschrieben: Da Stromausfall recht selten vorkommt kann man sich ja nun vorstellen das die Liste hier extrem lang wird.
ich würde das (spontan) so machen:
am ende der bootphase ein script aufrufen, was den zeitstempel des letzten regulären eintrags im syslog rauspuhlt und selbst noch einen zeitstempel in die kontrolldatei schreibt.

herrchen
wo muss den das script hin das am ende der bootphase ausgeführt werden soll?

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: Stromausfallzeiten Festhalten (Dauer Zeit Datum)

Beitrag von herrchen » 20.06.2007 14:16:27

Ework hat geschrieben: wo muss den das script hin das am ende der bootphase ausgeführt werden soll?
"/etc/rc.local" sollte passen.

herrchen

ps: nimm´ meine zweite, verbesserte lösung.

Antworten