线上操作使用tmux提高工作效率,tmux提高工作效率


对于经常在线上操作的人来说有一种烦恼,就是在操作过程中,有事离开了一下,电脑自动睡眠了,然后网络断开连接,这时候任务就要重新跑,很烦恼。
tmux可以解决这个问题。tmux可以看成虚拟屏幕,不受断网的影响。如果断网了,只重新连接屏幕就行了,虚拟屏幕上的文字都还在。

tmux的常用命令如下:

tmux new -s session_name
tux attach -t session_name
tmux ls
Control+B d: 暂时断开连接,正在执行的任务不会退出
Control+B PageUp/PageDown:上下滚屏

如何用tmux提高工作效率呢?那就是在跳板机工作的时候自动开启tmux。我的工作方法是这样的。
首先在本地电脑上定义alias,将连接跳板机作为一个命令:alias gate='ssh xxx@xxx ~/opentmux.sh'

跳板机上~/opentmux.sh的内容如下:

#!/bin/bash

# 找出未连接的屏幕
session_name=`tmux ls | grep -v attached | head -n 1 | egrep -o '^[^:]+'`

# 如果找不到未连接的屏幕,就新建屏幕
if [ -z "$session_name" ]; then
    tmux
    exit

# 连接现有屏幕
else
    tmux attach -t "$session_name"
    exit
fi

这样,每次连接跳板机的时候自动寻找detach状态的屏幕,然后自动attach上。如果都是attach状态的,就新建一个窗口。
这样即使断网了,下次连接跳板机的时候,运行的任务都还在。对于经常在线上操作的可以不受断网的影响,极大的增强操作体验。

相关内容