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

时间:2024-09-02 17:35:02

对于常常在线上操作的人来说有一种烦恼,就是在操作过程中,有事离开了一下,电脑自己主动睡眠了。然后网络断开连接。这时候任务就要又一次跑。非常烦恼。

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状态的,就新建一个窗体。

这样即使断网了,下次连接跳板机的时候,执行的任务都还在。

对于常常在线上操作的能够不受断网的影响,极大的增强操作体验。