ssh
やmosh
でリモートサーバに接続する際に、tmux
のwindowを自動で生成しており、
リモートサーバに接続
とtmux
がセットになっているので、tmuxを使ってリモートサーバでの作業ログをローカルに保存出来ないかと思って調べていたら
pipe-pane
を利用すると可能ぽいのでやってみた。
利用環境はtmux 1.7です。(OSはMountain Lion、SL6.1、CentOS6.3全てで動作しました。)
ログ用ディレクトリを用意
pipe-paneを利用する前にログ用ディレクトリを作っておく。
1
|
|
.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
コマンドと同じで、プロンプトとかに色を付けたりしていると、
ログに制御文字が入ってかなり見にくいので、cat
かless -R
で見ると
良い感じで表示出来ます。
便利。