GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo agregar una marca de tiempo al registro de script bash?

Solución 1:

Puede canalizar la salida del script a través de un bucle que prefija la fecha y la hora actuales:

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

Si va a usar mucho esto, es fácil hacer una función bash para manejar el ciclo:

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

Solución 2:

Ver ts desde Ubuntu moreutils paquete:

command | ts

O, si $command realiza almacenamiento en búfer automático (requiere expect-dev paquete):

unbuffer command | ts

Solución 3:

La fecha comando proporcionará esa información

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

para que puedas

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

¿Es eso lo que querías?

Solución 4:

Simplemente puede hacer eco el comando sale al archivo de registro. es decir,

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

Realmente funciona :)

Ejemplo:

[[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]]$ 

Solución 5:

Haz un config.sh archivo

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

Cuando necesite enviar al uso del archivo de registro

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

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

do_what_you_want >> $LOGFILE

El archivo de registro se verá como

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

Así será fácil ordenar por fecha


Linux
  1. ¿Cómo depurar un script Bash?

  2. ¿Cómo agregar nuevas líneas en variables en Bash Script?

  3. ¿Cómo establecer parámetros cuando Pipe Bash Script to Bash?

  4. Cómo dividir una cadena en Bash Script

  5. ¿Cómo pasar parámetros a un script Bash?

Cómo ejecutar un script Bash {7 métodos}

Cómo escribir un script Bash con ejemplos

Cómo habilitar la marca de tiempo en el historial de Bash en Linux

Cómo usar el comando de fecha en Bash Scripting en Linux

Cómo ejecutar un script Bash

Cómo convertir DATE a UNIX TIMESTAMP en script de shell en MacOS