Website-Suche

Aufzeichnen und Wiedergeben von Terminalsitzungen unter Linux


In diesem Handbuch werden wir uns ansehen, wie Sie ein Skript und scriptreplay-Befehle in Linux verwenden, die Ihnen helfen können, Befehle und deren Ausgabe aufzuzeichnen, die während einer bestimmten Sitzung auf Ihrem Terminal gedruckt werden.

Der Befehl history ist ein hervorragendes Befehlszeilenprogramm, mit dem Benutzer zuvor verwendete Befehle speichern können, obwohl die Ausgabe eines Befehls nicht gespeichert wird.

Daher ist der Skriptbefehl praktisch, um Ihnen eine leistungsstarke Funktionalität zur Verfügung zu stellen, mit der Sie alles, was auf Ihrem Terminal gedruckt wird, auf einem log_file aufzeichnen können.

Sie können dann später auf diese Datei zurückgreifen, falls Sie die Ausgabe eines Befehls in der Historie aus dem log_file anzeigen möchten.

Sie können auch Befehle wiedergeben, die Sie mit dem Befehl scriptreplay aufgezeichnet haben, indem Sie Zeitsteuerungsinformationen verwenden.

Wie nehme ich ein Terminal unter Linux auf?

Wenn Sie ein Typescript (Datensatz einer Terminalsitzung) unter Linux erstellen möchten, können Sie den Skriptbefehl verwenden, der eine neue Shell-Sitzung startet und alles, was auf dem Terminal angezeigt wird, einschließlich der Ein- und Ausgabe, unter dem angegebenen Dateinamen aufzeichnet.

script my_terminal_session.txt

Nach dem Ausführen des Skriptbefehls sehen Sie die Eingabeaufforderung des Terminals, in der Sie verschiedene Befehle ausführen können, und Ihre Terminalsitzung wird in der Datei "my_terminal_session.txt" aufgezeichnet.

Versuchen Sie nun, einige Befehle auszuführen, damit das Skript ausgeführte Befehle auf dem Terminal aufzeichnen kann.

cal
w
uptime
whoami
pwd

Um die Aufnahme zu stoppen, geben Sie einfach exit ein oder drücken Sie Strg+D.

exit

Versuchen Sie nun, die Protokolldatei 'my_terminal_session.txt' für alle aufgezeichneten Befehle anzuzeigen, während Sie das Protokoll betrachten, stellen Sie fest, dass das Skript auch Zeilenvorschübe und Rücktasten speichert.

vi my_terminal_session.txt

Sie können die Option -a verwenden, um die Protokolldatei oder das Typoskript anzuhängen, wobei der vorherige Inhalt beibehalten wird.

script -a my_terminal_session.txt
vi my_terminal_session.txt

Um die Ergebnisse eines einzelnen Befehls zu protokollieren, bei dem es sich nicht um eine interaktive Shellsitzung handelt, verwenden Sie die Option -c.

script -c 'hostname' script.log

Wenn Sie möchten, dass das Skript in einem stillen Modus ausgeführt wird, können Sie die Option -q verwenden. Es wird keine Meldung angezeigt, die anzeigt, dass das Skript gestartet oder beendet wird.

script -c 'who'  -q  script.log

Um die Timing-Informationen auf den Standardfehler oder eine Datei zu setzen, verwenden Sie die Option --timing. Die Timing-Informationen sind nützlich, wenn Sie die im log_file gespeicherte Ausgabe erneut anzeigen möchten.

Lassen Sie uns das Skript starten und die folgenden Befehle w, uptime und cal ausführen, um aufgezeichnet zu werden.

script --timing=time.txt script.log

Sie können die script.log und time.txt Datei für den Timing-Befehl oben anzeigen.

vi script.log

Zeigen Sie nun die time.txt Datei an.

vi time.txt

Die time.txt Datei besteht aus zwei Spalten, die erste Spalte zeigt an, wie viel Zeit seit der letzten Anzeige vergangen ist, und die zweite Spalte zeigt die Anzahl der Zeichen, die dieses Mal angezeigt wurden.

Verwenden Sie die Manpage und --help, um weitere Optionen und Hilfe bei der Verwendung des Skript-Befehlszeilenprogramms zu suchen.

Wie kann ich eine aufgezeichnete Terminalsitzung unter Linux wiedergeben?

Mit dem Befehl scriptreplay können Sie Informationen in Ihrem log_file wiedergeben, die mit dem Skriptbefehl aufgezeichnet wurden.

Die Timing-Informationen werden durch die Option -timing=file definiert, die mit dem Skriptbefehl verwendet wird, und die Datei ist in diesem Fall script.log, die mit dem Skriptbefehl verwendet wurde.

scriptreplay --timing=time.txt script.log

Wenn die log_file mit den Timing-Informationen wiedergegeben wird, werden die aufgezeichneten Befehle ausgeführt und ihre Ausgabe wird gleichzeitig mit der ursprünglichen Ausgabe angezeigt, die während der Aufnahme angezeigt wurde.

Zusammenfassung

Diese beiden Befehle, script und scriptreplay, sind einfach zu bedienen und helfen sehr, wenn Sie denselben Stapel von Befehlen mehrmals ausführen müssen.

Sie helfen sehr bei der Verwaltung von Servern, die nur über eine Befehlszeilenschnittstelle für die Interaktion mit Ihrem System verfügen. Ich hoffe, dieser Leitfaden war nützlich und wenn Sie etwas hinzuzufügen haben oder bei der Verwendung vor einer Herausforderung stehen, zögern Sie nicht, einen Kommentar zu hinterlassen.

Verwandte Artikel: