0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CygwinとUbuntu on Windowsで操作ログを記録できるようにしてみた

Last updated at Posted at 2016-08-26

#狙い
teratermやPuttyで接続するときのようにCygwinやUbuntu on Windowsでも
操作ログをエビデンスとして残したいなと思ったのでscriptコマンドを.bashrcに組み込んでみた
(自分の管理用なので制御コードの除外は割愛)

#はまりどころ
scriptコマンドを適当に.bashrcに組み込んだら
挙動を全然理解していなかったので.bashrcがひたすら読み込まれ多重起動地獄

#解決策
##最初に起動する親プロセスの場合のみscriptコマンド実行する
Cygwinの場合は**/usr/bin/mintty**
Ubuntu on Windowsの場合は**/init**

##ps auxの結果を目的に一致するようにごちゃごちゃやって抽出
他のscriptコマンドでログ記録している方たちの情報を参照しつつ環境に合わせる
Cygwinのps結果は表示が少なかったりしたので合わせる
grep結果が複数該当するのでheadとかtailで1行抽出
sortで順番を変えたりする

#ソース
##Cygwin

P_PROC=`ps aux | grep "${PPID}" | awk '{print $8}' | sort | tail -1`
CMD_MINTTY=/usr/bin/mintty
if [ ${P_PROC} = ${CMD_MINTTY} ]; then
  script ${HOME}/log/$(date +%Y%m%d_%H%M%S)_$(whoami).log
fi

##Ubuntu on Windows

P_PROC=`ps aux | grep "${PPID}" | awk '{print $11}' | head -1`
CMD_INIT=/init
if [ ${P_PROC} = ${CMD_INIT} ]; then
  script ${HOME}/log/$(date +%Y%M%S)_$(whoami).log
fi
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?