Bagaimana cara menyimpan log dari semua pekerjaan yang dilakukan melalui terminal? Sebagai contoh, saya ingin catatan semua pekerjaan yang dilakukan pada database melalui terminal.
Bagaimana cara menyimpan log dari semua pekerjaan yang dilakukan melalui terminal? Sebagai contoh, saya ingin catatan semua pekerjaan yang dilakukan pada database melalui terminal.
Jawaban:
Saat Anda siap untuk mulai merekam file log, ketik:
script screen.log
Sekarang, sampai Anda menghentikan skrip, semua input dan output di Terminal akan disimpan di screen.log. Setelah selesai, ketikkan saja:
exit
File screen.log Anda akan disimpan di direktori lokal. Jika Anda ingin mengarahkan ulang, gunakan nama path absolut seperti ~/screen.log
. Ini akan melakukan apa yang Anda cari.
man script
) bahkan menyebutkan vi
(editor) ...
Saya memiliki cara yang lebih baik untuk menggunakan syslog untuk mencatat setiap perintah shell ini dapat bervariasi berdasarkan distribusi linux tetapi metode akan tetap sama
Anda perlu mengikuti beberapa langkah:
Langkah # 1 (Buat layanan Syslog)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
Langkah # 2 (Buka bashrc dan masukkan perintah di bawah)
# vim /root/.bashrc
# Enable CLI Logging by Mansur 08-12-2016
whoami="$(whoami)@$(echo $SSH_CONNECTION | awk '{print $1}')"export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$whoami [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
Ste # 3 (Mulai Ulang Layanan Syslog)
# /etc/init.d/rsyslog
Berikut ini adalah contoh log:
7 Des 22:13:00 validationdb2 mahasan: root @ export [13291]: tail -f /var/log/mysql/mysql.log [0] 7 Des 22:13:09 validationdb2 mahasan: root @ export [13291]: ls -lh [0] 7 Des 22:13:27 validationdb2 mahasan: root @ export [13291]: perintah uji sentuh [0]