269 Tipps rss | 4 Nutzer online

Cron: Ein Logfile für den Skript-Ablauf erzeugen

Viele Shell-Skripte laufen automatisiert ohne Benutzereingriff ab, etwa vom cron-Dämon gestartet. Da kann man sich bei einer Fehlersuche viele graue Haare ersparen, wenn das Skript-Biest über sein Tun Protokoll führt...

Mit wenigen Zeilen ist das erledigt:

#!/bin/sh

# Zunächst der Name des Logfiles

LOGFILE='/var/log/skript.log'

# Die kleine Log-Funktion

function logg () {

echo -n `date +%Y%m%d%H%M%S` >>$LOGFILE

echo " `basename $0` $1" >>$LOGFILE

# Schreibt zunächst das aktuelle Datum ins Logfile

# -n unterdrückt den Zeilenumbruch am Ende

# Hinter + steht bei date die Formatierung, in diesem Fall z.B. 20051225125031

# wer's menschen-lesbarer mag schreibt z.B. +"%d.%m.%Y %H:%M:%S"

# Hardcore C-Programmierer bevorzugen vermutlich einen C-Timestamp: +%s

# basename $0 ergibt den Aufruf-Namen des Skripts

# $1 enthält innerhalb der Funktion den Parameter, mit dem die Funktion aufgerufen wurde

}

logg "gestartet"

# protokolliert den Programmstart

#

# hier kommt der eigentliche Skript-Inhalt, der weitere logg-Aufrufe enthalten kann

#

logg "beendet"

[ch]

Add to Del.icio.us


hallo,
ich habe folgendes script:
#!/bin/sh
LOGFILE='/var/log/veasy_svn_update.log'
function logg () {
echo -n `date +%Y%m%d%H%M%S` >>$LOGFILE
echo " `basename $0` $1" >>$LOGFILE
}
logg "starte svn update"
svn update /home/alexander/web/veasy
logg "svn update beendet"
---------------------
wie kann ich jetzt auch die ausgabe vom svn update ins log umleiten?
--------------------
danke für das nette tutorial
[Alexander | 12.11.2009]
Antworten


Hi
Auch, wenn schon etwas älter, weise einer Variable die Ausgabe des
Befehl zu und gebe die Variable mit in den logg-String.
MfG
[Posti | 29.12.2010]
Antworten


Bedingungen für die Kommentareingabe
Hinweis



Ihr Kommentar:


Name:


Copyright © Der Strassenprogrammierer 1999-2012   | Tippscout 5.0
Zurück Tipps Startseite