对于经常在线上操作的人来说有一种烦恼,就是在操作过程中,有事离开了一下,电脑自动睡眠了,然后网络断开连接,这时候任务就要重新跑,很烦恼。
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状态的,就新建一个窗口。
这样即使断网了,下次连接跳板机的时候,运行的任务都还在。对于经常在线上操作的可以不受断网的影响,极大的增强操作体验。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/caipeichao2/article/details/46743515