linux中运行tmux时,自动保存日志

1.为什么需要自动保存日志

(1)  运行tmux的时候,向上查看日志比较麻烦,要执行ctrl b + [ 的操作,并且查看的日志范围有限

(2)  如果在tmux窗口内,每次手动使用script命令保存日志,又太麻烦

2. 原理

      使用linux中的script命令,可以实现将会话信息保存到指定文件中,使用方法:

(如果没有这个命令,需要安装一下)

script -f a.log      将当前会话打印信息输出到a.log文件中

exit                     结束保存日志

 3.具体方法

(1)  在~/bash_profile文件末尾添加以下内容

# log the output of tmux
TMUX_NAME=`cat ~/.tmp_tmux_name` 2> /dev/null


if [[ $TERM = "screen" ]] && [[ $(ps -p $PPID -o comm=) = "tmux" ]]; then
mkdir /home/logs 2> /dev/null
logname="$(date '+%d%m%Y%H%M%S').tmux_${TMUX_NAME}.log"
script -f /home/logs/${logname}
exit
fi

    (2)  新增一个脚本tmux_savelog.sh

# cat tmux_savelog.sh
#!/bin/bash

if [ $# -ne 1 ];
then
    echo "exit..."
    exit 1
fi

SESSION_NAME=$1

echo "tmux a -t ${SESSION_NAME}"

echo "${SESSION_NAME}" > ~/.tmp_tmux_name
tmux new-session -s ${SESSION_NAME} -d -n "${SESSION_NAME}" "bash"
tmux send -t ${SESSION_NAME}.0 ". ${HOME}/.bash_profile" ENTER

(3)  运行脚本创建tmux的窗口

# ./tmux_savelog.sh test_session
tmux a -t test_session

打开这个窗口,可以看到该日志信息会被存放在相应的文件中。

# tmux a -t test_session

 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值