Wie kann ich alle über das Terminal geleisteten Arbeiten protokollieren? Zum Beispiel möchte ich eine Aufzeichnung aller auf der Datenbank durchgeführten Arbeiten über das Terminal.
Wie kann ich alle über das Terminal geleisteten Arbeiten protokollieren? Zum Beispiel möchte ich eine Aufzeichnung aller auf der Datenbank durchgeführten Arbeiten über das Terminal.
Antworten:
Wenn Sie bereit sind, eine Protokolldatei aufzuzeichnen, geben Sie Folgendes ein:
script screen.log
Bis Sie das Skript anhalten, werden alle Eingaben und Ausgaben im Terminal in screen.log gespeichert. Wenn Sie fertig sind, geben Sie einfach Folgendes ein:
exit
Ihre screen.log-Datei wird im lokalen Verzeichnis gespeichert. Wenn Sie es umleiten möchten, verwenden Sie einen absoluten Pfadnamen wie ~/screen.log
. Dies wird genau das tun, wonach Sie suchen.
Quelle: Ubuntu-Handbuch - So protokollieren Sie Terminalbefehle
man script
) erwähnt sogar vi
(Editor) ...
Vielleicht möchten Sie Asciinema ausprobieren . Sie können nicht nur eine Aufzeichnung erstellen, sondern diese auch freigeben und den Player in Ihr Blog, Ihren Artikel oder in ein Konferenzgespräch einbetten.
Ich habe eine bessere Möglichkeit, Syslog zum Protokollieren jedes Shell-Befehls zu verwenden. Dies kann je nach Linux-Distribution variieren, aber die Methode bleibt dieselbe
Sie müssen einige Schritte befolgen:
Schritt 1 (Syslog-Dienst erstellen)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
Schritt # 2 (Öffne bashrc und gib den folgenden Befehl ein)
# 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]"'
Schritt 3 (Syslog-Dienst neu starten)
# /etc/init.d/rsyslog
Hier ist ein Protokollbeispiel:
7. Dezember 22:13:00 validationdb2 mahasan: root @ export [13291]: tail -f /var/log/mysql/mysql.log [0] 7. Dezember 22:13:09 validationdb2 mahasan: root @ export [13291]: ls -lh [0] 7. Dezember 22:13:27 validationdb2 mahasan: root @ export [13291]: touch test command [0]