nDiki : 2014年04月04日

2014年4月4日 (金)

一緒に仕事をしたいエンジニア像 (2014年4月)

  • 頭が良いこと。(cf. Joel on Software)
  • 物事を成し遂げる能力があること。(cf. Joel on Software)
  • ジェネラリストであること。(cf. アジャイルサムライ)
  • 一緒に働くイメージが描けること。
  • わくわくすること。
  • 遊び心をもっていること。こだわり・ハック心をもっていること。

[ opinion ]

スポンサード リンク

tmux でペインでの作業をロギングしておく設定

ターミナルでの作業の内容をファイルに書き出しておきたいことがある。特に SSH で入ったリモートホスト上での作業内容を手間をかけずにローカルホスト上にもってきたいことがよくある。

tmux だと pipe-pane コマンドを使うと各ペインでの作業をパイプでコマンドに送っておけると教えてもらったので設定してみた。

パイプからの送り先のコマンドを用意する

cat でもいいのだけれど自分は日付別に保存したいので以下のようなシェルスクリプトを ~/.dotfiles/bin/log-tmux として作る。

 #!/bin/sh

 DATE=`date "+%Y-%m-%d"`
 LOG_DIR=$HOME/var/tmux/log/$DATE
 LOG_FILE=$LOG_DIR/tmux-$DATE-$1.log
 mkdir -p $LOG_DIR
 tmux display-message "Started logging to $LOG_FILE"
 cat >> $LOG_FILE

~/.tmux.conf にキーバインディングを設定する

~/.tmux.conf に以下を追加。

 #
 # logging
 #
 # C-t C-p (toggle)
 bind-key C-p pipe-pane -o '$HOME/.dotfiles/bin/log-tmux "#S-#I:#W-#P"'

これで prefix*1 + C-p をタイプすると

 ~/var/tmux/log/2014-04-04/tmux-2014-04-0-0:bash-0.log

みたいな感じでファイルが作られてそこに pane に出力された内容が書き出されはじめる。もういちど prefix + C-p すると停止。複数のペインで同時に別のファイルにロギングしておける(それぞれで prefix + C-p をタイプして開始させておく)。

ちなみに #S とかは以下。

  • #S: セッション名
  • #I: 現在のウインドウインデックス
  • #W: 現在のウインドウ名
  • #P: 現在のペインインデックス

保存されたファイルにはエスケープシーケンスなども含まれるので見る時は less -R や lv -c あたりを使うとみやすい。

*1自分は C-t

今日のさえずり: 新卒アニメ好きが多い

2014年04月04日

[ 4月4日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.062165s / load averages: 0.55, 0.63, 0.66
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker