tmux를 사용하면서 로그를 얻습니다.

3472 단어 tmux
tmux에서 창별 로그를 얻고 싶었기 때문에 메모

무엇을 할 수 있습니까?



tmux 창의 모든 입력과 출력을 기록 할 수 있습니다. (시간 정보 첨부!)



동작 확인 환경



tmux 1.7 ※쓰고 있는 20140808 시점의 최신은 1.9a 입니다.

※OS
 Ubuntu14.04
Fedora14
로 동작 확인

.tmux.conf 편집


  • ~/.tmux/log/폴더 만들기
  • mkdir -p ~/.tmux/log/
    
  • tmux.conf 편집 (없는 경우 새로 작성)
  •  vi ~/.tmux.conf
    
    以下を追加
    
    # ===== logging =====
    #
    # C-b C-p Start logging.
    bind-key C-p pipe-pane -o '/bin/sh -c "while read -r LINE; do echo \"[\$(date +\"%%Y_%%m%%d_%%H%%M%%S_%%N\")] \${LINE}\" >> \${HOME}/.tmux/log/\$(date +%Y%m%d-%H%M%S)-#S-#I.#P.log; done "' \; display-message "Logging start."
    # C-b C-o Stop logging
    bind-key C-o pipe-pane \; display-message "Logging end."
    # C-b v Open new window. Logging always. (-n is set window name.)
    bind-key v new-window -n 'logging...' \; pipe-pane -o '/bin/sh -c "while read -r LINE; do echo \"[\$(date +\"%%Y_%%m%%d_%%H%%M%%S_%%N\")] \${LINE}\" >> \${HOME}/.tmux/log/\$(date +%Y%m%d-%H%M%S)-#S-#I.#P.log; done "'
    
    ※#S セッションインデックス
     #I ウインドウインデックス
     #P ペインインデックス
    

    사용법



    새 창 열기(항상 로그 획득)



    Ctrl+b, v 순서로 logging...이라는 새 창이 열립니다.
    열린 창은 항상 기록됩니다.

    ※윈도우명이 마음에 들지 않는 경우는 Ctrl+[,] 로 변경할 수 있습니다.

    수동 로깅



    === 시작 ===



    Ctrl+b, Ctrl+p 순으로

    로깅 시작.

    와 같은 문자가 최하부에 표시되어(일순간!), 실제로 로그가 출력되고 있으면 OK 입니다.

    로그 파일 예:
    /home/user1/.tmux/log/2014_0808_113045-0-0.0.log

    ※CR등의 이스케이프 문자, 제어 문자등이 포함되므로, 로그 파일의 내용의 취급에는 주의 바랍니다.

    === 정지 ===



    Ctrl+B, Ctrl+o로 중지합니다.
    Logging end.와 메시지가 표시됩니다. (순간)

    【메모】쉘 스크립트 임베디드 명령



    이것은 단지 사적인 메모입니다.
    로그를 검색하는 동안 tmux를 여는 명령
    
    新規 tmux セッション開始時
    tmux new-session \; pipe-pane 'cat >> LOGNAME'
    新規 tmux セッション開始時(日付情報付)
    tmux new-session \; pipe-pane -o '/bin/sh -c "while read -r LINE; do echo \"[\$(date +\"%%Y_%%m%%d_%%H%%M%%S_%%N\")] \${LINE}\" >> \${HOME}/.tmux/log/\$(date +%Y%m%d-%H%M%S)-#S-#I.#P.log; done "'
    
    別ウィンドウを開く場合(既に tmux は起動済)
    tmux new-window \; pipe-pane 'cat >> LOGNAME'
    日付情報付
    tmux new-window \; pipe-pane -o '/bin/sh -c "while read -r LINE; do echo \"[\$(date +\"%%Y_%%m%%d_%%H%%M%%S_%%N\")] \${LINE}\" >> \${HOME}/.tmux/log/\$(date +%Y%m%d-%H%M%S)-#S-#I.#P.log; done "'
    

    【참고】tmux 1.7 빌드



    최신 tmux 저장소에서 빌드


    git clone http://git.code.sf.net/p/tmux/tmux-code tmux-tmux-code
    cd tmux-tmux-code
    

    태그 1.7을 1.7 지점으로 체크 아웃
    git checkout refs/tags/1.7 -b 1.7
    

    빌드
    ./autogen
    ./configure
    make
    sudo make install
    

    빌드 할 수 없을 때 ...



    aclocal 없음
    apt-get install automake
    

    curses 없음
     sudo apt-get install libcurses-*
    
    
    ※ncurses とは違うの・・・?お兄さん教えて
    

    libevent 없음
     sudo apt-get install libevent-dev
    
     又は
    
     sudo yum install libevent-devel.i686 -y
    

    좋은 웹페이지 즐겨찾기