190418 自動でログを取得できるようにしたい。

今日やったこと

  • ログを自動で保存する方法を調べる
  • 昨日のエラーをメンターに質問する(これ先にやればよかった。。)

実現したいこと

ターミナルのログを自動的に取得したい。

ログを保存したいディレクトリ先

/Users/bupolang/myproject/log

bashrcにする理由

bashを起動した時に毎回読み込まれるから。ログイン毎に実行する必要はない。とかんがえた。

どうやるか?

ターミナルで以下を実行

vi ~/.bashrc

.bashrc に以下のスクリプトを追記する。

#ユーザのログイン時に特定のディレクトリへログファイルを保存
#${log_archive_directory}は任意のディレクトリを指定
#ログファイル名はログイン時の日時とログインユーザ名を付与
# -f オプションは、即時にファイルへ結果出力する

script -f ${/Users/bupolang/myproject/log}/$(date +%Y%m%d_%H%M%S)_$(bupolang).log

bashrcを読み込み

source .bashrc

出たエラー

${/Users/bupolang/myproject/log}/$(date +%Y%m%d_%H%M%S)_$(bupolang).log: bad substitution

ぐぬぬ。。

参考にしたサイト

まずはここから!Linuxサーバでカジュアルに作業ログを取得する方法 - Qiita

変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

.bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの? - Qiita

viエディタの使い方