GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie füge ich einen Zeitstempel zum Bash-Skriptprotokoll hinzu?

Lösung 1:

Sie können die Ausgabe des Skripts durch eine Schleife leiten, die das aktuelle Datum und die Uhrzeit voranstellt:

./script.sh | while IFS= read -r line; do printf '%s %s\n' "$(date)" "$line"; done >>/var/log/logfile

Wenn Sie dies häufig verwenden, ist es einfach, eine Bash-Funktion zu erstellen, um die Schleife zu handhaben:

adddate() {
    while IFS= read -r line; do
        printf '%s %s\n' "$(date)" "$line";
    done
}

./thisscript.sh | adddate >>/var/log/logfile
./thatscript.sh | adddate >>/var/log/logfile
./theotherscript.sh | adddate >>/var/log/logfile

Lösung 2:

Siehe ts von Ubuntu moreutils Paket:

command | ts

Oder, wenn $command puffert automatisch (benötigt expect-dev Paket):

unbuffer command | ts

Lösung 3:

Das Datum Der Befehl liefert diese Informationen

date -u
Sat Sep 10 22:39:24 UTC 2011

damit Sie

können
echo $(date -u) "Some message or other"

ist es das, was du wolltest?

Lösung 4:

Sie können einfach echo die Befehlsausgaben in die Protokolldatei. dh,

echo "`date -u` `./script.sh`" >> /var/log/logfile

Es funktioniert wirklich :)

Beispiel:

[[email protected]]$ ./script.sh 
Hello Worldy
[[email protected]]$ echo "`date -u` `./script.sh`" >> logfile.txt
[[email protected]]$ cat logfile.txt 
Mon Sep 12 20:18:28 UTC 2011 Hello Worldy
[[email protected]]$ 

Lösung 5:

Machen Sie eine config.sh Datei

#!/usr/bin/env bash
LOGFILE="/path/to/log.log"
TIMESTAMP=`date "+%Y-%m-%d %H:%M:%S"`

Wenn Sie an die Protokolldatei senden müssen, verwenden Sie

#!/usr/bin/env bash
source /path/to/config.sh

echo "$TIMESTAMP Say what you are doing" >> $LOGFILE

do_what_you_want >> $LOGFILE

Die Protokolldatei sieht folgendermaßen aus

2013-02-03 18:22:30 Say what you are doing

So wird es einfach sein, nach Datum zu sortieren


Linux
  1. Wie fügt man Zeilenumbrüche in Variablen im Bash-Skript ein?

  2. Wie werden Parameter eingestellt, wenn Bash-Skript an Bash übergeben wird?

  3. Wie rufe ich eine Bash-Funktion in einem Bash-Skript in Awk auf?

  4. Bash-Skript - So lesen Sie Benutzereingaben

  5. Wie fügt man Benutzerkonto UND Passwort automatisch mit einem Bash-Skript hinzu?

So führen Sie ein Bash-Skript aus {7 Methoden}

So schreiben Sie ein Bash-Skript mit Beispielen

So aktivieren Sie den Zeitstempel im Bash-Verlauf unter Linux

So verwenden Sie den Datumsbefehl in Bash-Skripten unter Linux

So führen Sie ein Bash-Skript aus

Fügen Sie dem Pfad ein Bash-Skript hinzu