Solar Log Forum
21.05.2012 02:26 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: Forum auf Grund des Spamaufkommens auf manuelle Aktivierung neuer Benutzeraccounts umgestellt.
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: SpeicherLogger Skript  (Gelesen 200 mal)
Klaus D.
Globaler Moderator
Sr. Mitglied
*****
Offline Offline

Beiträge: 305

229942439
Profil anzeigen WWW
« am: 08.11.2008 22:26 »

Hallo Leute,

da ich momentan am Skript schreiben bin hab ich gleich noch ein nützliches Skript gepastelt.

Mit ihm kann man den Speicherbedarf eines Programmes zyklisch in eine Logdatei Schreiben zu lassen.

Code:
#!/bin/sh
#
# Solar-Logger - A Daemon for logging Data from a Solar Plant
# Copyright (C) 2007  Klaus Dotterweich (dr.dotti@gmx.de)
#
# This program is free software; you can redistribute it and/or modify it under the terms of the
# GNU General Public License as published by the Free Software Foundation;
# either version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with this program;
# if not, see .
#
# Solar-Logger - Ein Daemon zum loggen der Daten einer Solaranlage
# Copyright (C) 2007  Klaus Dotterweich (dr.dotti@gmx.de)
#
# Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License,
# wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren,
# entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
#
# Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird,
# aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder
# der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
#
# Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben.
# Falls nicht, siehe .
#



Programm='Solar-Logger' # Programm dessen Speicherbedarf geloggt werden soll.
IntervallZeit=1 # Loggintervall

Loggen="JA" # Um alles zu Loggen "DEBUG" und nur sinnvolle Sachen zu Loggen "JA"
LogPfad='/root/Solar-Logger-0.3/DebugLog/Speicher/' # Pfad der Datei in die geloggt werden soll
LogDateiName='Solar-Logger-Speicher.log' # DateiName der LogDatei



LogDatei=$LogPfad`date '+%d.'`$LogDateiName # Datei in die geloggt werden soll

#######################
# Startzeit des Skriptes Merken
#######################
ZeitstempelStart=`date '+%s'`



#####################
# Start des Watchdog loggen
#####################
if ([ $Loggen == "DEBUG" ] || [ $Loggen == "JA" ])
then
echo `date '+%d.%m.%y %T'`: SpeicherLogger gestartet. >> $LogDatei
echo `date '+%d.%m.%y %T'`: IntervallZeit is $IntervallZeit in Minuten. >> $LogDatei
fi



TempStartZeit=$StartZeit # Die Zeit zum Starten des Solar-Loggers wieder zurücksetzen

#####################
# Programmschleife
#####################
while [ true ]
do
LogDatei=$LogPfad`date '+%d.'`$LogDateiName # Datei in die geloggt werden soll

#######################
# Startzeit der Schleifen Merken
#######################
ZeitstempelStartSchleife=`date '+%s'`

# Speicher Bedarf Loggen
echo `date '+%d.%m.%y %T'`: "     "`top -b -n 1 -p $(pidof Solar-Logger) | tail --lines=2 | head --lines=1` >> $LogDatei

#######################
# Endezeit der Schleifen Merken
#######################
ZeitstempelEndeSchleife=`date '+%s'`

#################################################
# SchleifenZeit berechnen
#################################################
SchleifenZeit=`/usr/bin/expr $ZeitstempelEndeSchleife - $ZeitstempelStartSchleife`
if [ $Loggen == "DEBUG" ]
then
echo `date '+%d.%m.%y %T'`: Die Schleifenzeit beträgt $SchleifenZeit. >> $LogDatei
fi

#  Die Schleife schlafen legen
if [ $Loggen == "DEBUG" ]
then
echo `date '+%d.%m.%y %T'`: Watchdog legt sich für `/usr/bin/expr $IntervallZeit \* 60` Sekunden schlafen. >> $LogDatei
fi
sleep `/usr/bin/expr $IntervallZeit \* 60`

done
Ich hoffe, das ich mit diesem Skript das Problem mit dem auserplanmäsigen Beenden des Logger aufklären kann.#


mfg


Klaus D.
Gespeichert

Klaus D.
Globaler Moderator
Sr. Mitglied
*****
Offline Offline

Beiträge: 305

229942439
Profil anzeigen WWW
« Antworten #1 am: 09.11.2008 23:19 »

Hallo Leute,

das fertige und getestete Skript könnt ihr hier finden:
http://virtuelleshaus.selfip.com/Solar-Logger/Skripte/Skripte.html


mfg

Klaus D.
Gespeichert

Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS