Glide Note

glidenote's blog

tmuxのpipe-paneを利用してリモートサーバでの作業ログをローカルに記録する

sshmoshでリモートサーバに接続する際に、tmuxのwindowを自動で生成しており、 リモートサーバに接続tmuxがセットになっているので、tmuxを使ってリモートサーバでの作業ログをローカルに保存出来ないかと思って調べていたら pipe-paneを利用すると可能ぽいのでやってみた。

利用環境はtmux 1.7です。(OSはMountain Lion、SL6.1、CentOS6.3全てで動作しました。)

ログ用ディレクトリを用意

pipe-paneを利用する前にログ用ディレクトリを作っておく。

1
mkdir ~/.tmux/

.tmux.confの設定

下記のように設定

  • prefix key + Hでロギング開始
  • prefix key + hでロギング終了

という感じです。

そうすると~/.tmux/tmux-hogemoge.logみたいなログが出来上がる。 hogemogeの部分はtmuxのwindow名が入ります。tmuxのバージョンが古いと tmux-#W.logという残念な感じにファイルが出来上がります…

私はリモートサーバごとでtmuxのwindowが自動で生成して分けているので、

  • ~/.tmux/tmux-web010.log
  • ~/.tmux/tmux-db001.log
  • ~/.tmux/tmux-db002.log

といった感じでログファイルが出来上がる。

scriptコマンドと同じで、プロンプトとかに色を付けたりしていると、 ログに制御文字が入ってかなり見にくいので、catless -Rで見ると 良い感じで表示出来ます。

便利。

Comments