Help us understand the problem. What is going on with this article?

[Mac][ターミナル]ターミナルのログを自動で取得する

More than 1 year has passed since last update.

目的

  • ターミナルを起動したときに自動でログを取得したい
    • 出力をコピーするのが面倒くさい
      • 障害対応で毎度コピーするくらいなら最初から設定したい
    • 振り返りたい
      • 操作したコマンドなんだっけ?
      • あの時の実行結果どうだったけ?
    • 監査目的
      • 操作ログは残せ!と言われた
    • 超慎重派

設定方法

ログ出力用のディレクトリを作成する

mkdir -p /Users/[username]/scriptlogs/

[ターミナル.app]を起動する

[ターミナル] - [環境設定]を開く

スクリーンショット 2014-02-11 17.51.54.png

[設定]- [シェル]を開いて、[コマンドを実行]にチェックを入れる

スクリーンショット 2014-02-11 18.11.14.png

以下をテキストボックスに入力

now=`date +%Y%m%d%H%M%S`;logpath=~/scriptlogs/script_${now}.txt ;script ${logpath}

ログファイルが沢山増えたときに探したりlsが遅くなったりして大変になるので、ディレクトリを分けたければ、ディレクトリ用の変数と、ファイル名用の変数を設定する。
mkdir -p を使えばディレクトリがなければ作成してくれるし、なければ何もしない(エラーも吐かない)。
e.g. ~/scriptlogs/yyyy/mm/dd/script_hhmmss.txt

directory=~/scriptlogs/$(date +%Y)/$(date +%m)/$(date +%d);filename=script_$(date +%H%M%S).txt;mkdir -p ${directory}; script ${directory}/${filename}

ターミナルを一度閉じる

ターミナルを起動する

以下のように表示される

Last login: Tue Feb 11 18:01:38 on ttys002
now=`date +%Y%m%d%H%M%S`;logpath=/Users/[username]/scriptlogs/script_${now}.txt ;script ${logpath}
[username]-no-MacBook-Air:~ [username]$ now=`date +%Y%m%d%H%M%S`;logpath=/Users/[username]/scriptlogs/script_${now}.txt ;script ${logpath}
Script started, output file is /Users/[username]/scriptlogs/script_20140211180947.txt
bash-3.2$ 

「bash-3.2$」ってプロンプトが気に食わない人は…

bash --login
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした