Linux ターミナルセッションをテキストモードで記録し、後で共有または再生するにはどうすればよいですか?
最終更新日: 2020 年 9 月 14 日
Amazon Elastic Compute Cloud (Amazon EC2) Linux ターミナルセッションまたは SSH セッションをテキストモードで記録し、後で共有または再生したいと考えています。これはどのように実行できますか?
簡単な説明
script コマンドを使用して、SSH セッションまたはターミナルセッションをファイルに記録できます。ヘルプが必要な場合は、man script コマンドを実行してユーザーマニュアルにアクセスできます。
解決方法
セッションの記録
1. SSH ターミナルを開きます。次のコマンドのサンプル IP アドレスを、自分の IP アドレスまたはホスト名に置き換えます。
$ ssh 198.51.100.0
2. スクリプトセッションを開始します。次のコマンドでは、-a は追加モードを有効にし、-t はタイミングファイルを設定します。
$ script -a -t timingfile.txt typescript.txt
3. 記録するコマンドを実行します。コマンドと出力が記録されます。
4. 終了したら、exit と入力するか、Ctrl-D でスクリプトセッションを終了します 。
5. typescript.txt および timingfile.txt という名前のファイルには、記録されたデータが含まれます。必要に応じて、これらのファイルを共有できます。
セッションの再生
1. typescript.txt ファイルと timingfile.txt ファイルを Linux (または Unix) サーバにコピーするか、同じサーバーから再生します。
2. 次のコマンドを使用して、遅滞することなく、typescript.txt ファイルの完全な出力をすぐに表示します。
$ cat typescript.txt
3. 次のコマンドを使用して、通常のタイミングでファイルを再生します。
$ scriptreplay --timing=timingfile.txt typescript.txt
4. 次のコマンドを使用して、タイミング除数を使用してファイルを再生し、より高速な再生を有効にします。
$ scriptreplay --timing=timingfile.txt typescript.txt -d 10
注意: Linux の実行可能ファイルである script と scriptreplay はデフォルトでプリインストールされているため、個別にインストールする必要はありません。インストールする必要がある場合は、使用しているオペレーティングシステムに対応する次のコマンドを使用します。
Ubuntu 16 と Ubuntu 18:
sudo apt install bsdutils
RHEL 6:
sudo yum install util-linux-ng
RHEL 7、Amazon Linux 1、Amazon Linux 2:
sudo yum install util-linux