GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menambahkan stempel waktu ke log skrip bash?

Solusi 1:

Anda dapat menyalurkan output skrip melalui loop yang mengawali tanggal dan waktu saat ini:

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

Jika Anda akan sering menggunakan ini, mudah membuat fungsi bash untuk menangani perulangan:

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

Solusi 2:

Lihat ts dari moreutils Ubuntu paket:

command | ts

Atau, jika $command melakukan buffering otomatis (membutuhkan expect-dev paket):

unbuffer command | ts

Solusi 3:

Tanggal perintah akan memberikan informasi itu

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

jadi kamu bisa

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

apakah itu yang Anda inginkan?

Solusi 4:

Anda cukup gema output perintah ke file log. yaitu,

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

Ini benar-benar berfungsi :)

Contoh:

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

Solusi 5:

Buat config.sh berkas

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

Saat Anda perlu mengirim ke file log, gunakan

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

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

do_what_you_want >> $LOGFILE

File log akan terlihat seperti

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

Jadi akan mudah untuk mengurutkan berdasarkan tanggal


Linux
  1. Bagaimana Menambahkan Pengguna Unix/linux Dalam Skrip Bash?

  2. Bagaimana Cara Menambahkan Baris Baru Ke Variabel Dalam Skrip Bash?

  3. Bagaimana Cara Mengatur Parameter Saat Pipa Bash Script Ke Bash?

  1. Bagaimana Memanggil Fungsi Bash Dalam Skrip Bash Di Dalam Awk?

  2. Cara Memisahkan String dalam Skrip Bash

  3. Bash Script - Cara Membaca Input Pengguna

  1. Bagaimana Cara Men-debug Skrip Bash?

  2. Cara mengonversi DATE ke UNIX TIMESTAMP dalam skrip shell di MacOS

  3. Tambahkan skrip bash ke jalur