Malam ini saya sedang mencoba melihat garis proksi saya, dan saya datang dengan ini, yang sepertinya semuanya KISS. Bagaimana Anda melakukannya dengan sederhana?
awk '{ trunc=sprintf("%.0f", $1) ;$1="" ; system("echo -n `date +%R -d\"@" trunc "\" `") ; print $0 ;}' </var/log/squid3/access.log
Baris di sana dimulai dengan: 137816847.548
(maka ruang membatasi bidang berikutnya, angka benar-benar acak di sini)
Jawaban:
Berikut ini adalah skrip python kecil yang harus cukup kuat dan mudah diperluas:
Simpan ke file seperti itu
parse_squid_log
dan pastikan itu dapat dieksekusichmod +x parse_squid_log
dan pada Andapath
.Pemakaian:
sumber
Dengan asumsi file log adalah sesuatu seperti ini:
awk '{ cmd = ("date +%R -d @"$1); cmd | getline timestamp; close(cmd); $1=""; print timestamp$0 }' /var/log/squid3/access.log
Perintah rusak:
date
perintah yang ditetapkan untuk mengubah waktu zaman menjadi 24 jam jam dan menitcmd
ke perintah tanggal yang diinginkantimestamp
close
output sistemATAU
Lebih baik lagi dengan hanya awk:
awk '{timestamp=strftime("%R",$1); $1=""; print timestamp$0}' /var/log/squid3/access.log
sumber
awk
larutan. Jika tidak, aku akan mengambil milikmu. Tetap memberi +1Tambahkan logformat squid dengan parameter ke /etc/squid/squid.conf, lihat halaman manual .
Misalnya saya menggunakan:
Penting adalah% tl, yang berarti, membuat stempel waktu di waktu lokal.
sumber