by shigemk2

当面は技術的なことしか書かない

ターミナルで作業する際に作業ログを取る方法

こちらから
ゼロから始めたMACとiPhone: MACのターミナルで自動的に作業ログを取る

ターミナルでは起動時にコマンドを指定できるので、
ターミナル起動時にscriptコマンドを実行するように設定しておき、
手動でscriptを実施しなくてもログを記録するようにしておきたい。

ログファイル名と記録先ディレクリは自由に設定できます。
以下の例では、ホームディレクトリに作成したscriptlogsディレクトリに、
script_YYYYMMDDHHMMSS.txtというファイル名で生成されます。

1)ターミナルを起動します。

2)ツールバーにある、ターミナル --> 環境設定... を開きます。

3)「設定」にある「シェル」タブを開くと、

起動
コマンドを実行:

という箇所があるのでチェックをいれます。

4)実行するコマンドに以下のコマンドを入力します。

nownow=`date +%Y%m%d%H%M%S`;sagyolog=/ホームディレクトリ/scriptlogs/script_${nownow}.txt ;script ${sagyolog}

※ホームディレクトリ 部分はログを出力したいディレクトリに置き換える。

5)一度ターミナルを落として、再度起動します。

これでターミナルを起動すると、

Last login: Mon Feb 2 22:22:22 on ttys000
hogehoge-no-macbook:~ hogehoge$ nownow=`date +%Y%m%d%H%M%S`;sagyolog=/hogehoge/scriptlogs/script_${nownow}.txt ;script ${sagyolog}
Script started, output file is /hogehoge/scriptlogs/script_2010022222222.txt
$

と、scriptコマンドが実行されて、script_年月日時分秒.txtのログファイルが出力されます。

exitを1回実行するとログ出力が終了します。
もう一度exitを実行するとターミナルが終了します。