scriptコマンドで作業ログを記録する方法

scriptコマンドでログを記録する方法

Linuxで作業ログを記録するための「script」コマンドについて説明していきます。

「script」コマンドでログを記録する方法はとても簡単で、とりあえず下記の方法を覚えておけばログの記録は問題なく行うことができます。

  • ログの記録開始 script ファイル名
  • ログファイルに追記 script -a ファイル名
  • ログの記録停止 「exit」または「Ctrl」+「d」

ログの記録を開始する際にファイル名を指定しなかった場合は、「typescript」というファイルが自動的に作成されて、そこにログが記録されます。

実行例

「script」コマンドを使用して、作業ログの記録と、ログの追記を実際に行ってみます。

ログの記録開始

ログの記録を開始します。

「output log file is '20220212-190746.log'.」と表示されているので、ログが記録されているファイル名が「20220212-190746.log」であることがわかります。

ログの記録を開始したあとに「/etc/lsb-release」の中身を表示させて、「exit」と入力してログの記録を完了させています。

tamohiko@vaio:~$ script $(date "+%Y%m%d-%H%M%S").log
Script started, output log file is '20220212-190746.log'.
tamohiko@vaio:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=21.10
DISTRIB_CODENAME=impish
DISTRIB_DESCRIPTION="Ubuntu 21.10"
tamohiko@vaio:~$ exit  # ログの記録を完了させています
exit
Script done.

作成されたファイルを確認すると、ログが記録されていることがわかります。

tamohiko@vaio:~$ cat 20220212-190746.log
Script started on 2022-02-12 19:07:46+09:00 [TERM="xterm-256color" TTY="/dev/pts/0" COLUMNS="80" LINES="24"]
tamohiko@vaio:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=21.10
DISTRIB_CODENAME=impish
DISTRIB_DESCRIPTION="Ubuntu 21.10"
tamohiko@vaio:~$ exit
exit

Script done on 2022-02-12 19:07:56+09:00 [COMMAND_EXIT_CODE="0"]

ログファイルに追記

「-a」オプションを使用して、ログが記録されたファイルに作業ログの追記を行います。

ログの記録を開始した後に「lsb_release -a」コマンドを実行し「Ctrl」+「d」で、ログの記録を完了させています。

tamohiko@vaio:~$ script -a 20220212-190746.log 
Script started, output log file is '20220212-190746.log'.
tamohiko@vaio:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 21.10
Release:	21.10
Codename:	impish
tamohiko@vaio:~$  # 「Ctrl」+「d」でログの記録を終了させています
exit
Script done.

ログが記録されたファイルを確認すると、最初に記録されたログの後に今回追記したものが記録されていることが確認できました。

tamohiko@vaio:~$ cat 20220212-190746.log 
Script started on 2022-02-12 19:07:46+09:00 [TERM="xterm-256color" TTY="/dev/pts/0" COLUMNS="80" LINES="24"]
tamohiko@vaio:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=21.10
DISTRIB_CODENAME=impish
DISTRIB_DESCRIPTION="Ubuntu 21.10"
tamohiko@vaio:~$ exit
exit

Script done on 2022-02-12 19:07:56+09:00 [COMMAND_EXIT_CODE="0"]
Script started on 2022-02-12 19:13:38+09:00 [TERM="xterm-256color" TTY="/dev/pts/0" COLUMNS="80" LINES="24"]
tamohiko@vaio:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 21.10
Release:	21.10
Codename:	impish
tamohiko@vaio:~$ 
exit

Script done on 2022-02-12 19:13:53+09:00 [COMMAND_EXIT_CODE="0"]

シェアする