ssh 掉线救星 screen 的简单使用
在远程 ssh 命令行下某些长时间的操作,一旦网络出现故障,后果可能会很严重,在这种情况下可以使用 screen 命令来解决。 screen 可以创建一个session,在不小心断开以后还可以继续恢复 session 保存的状态.
安装
# RedHat or CentOS
yum install epel-release
yum install screen
# Debian
apt-get install screen
# 编译:rocky linux9 yum 没安装成功 所以只能从源码装了
yum install ncurses-devel autoconf automake tar gcc wget -y
wget https://ftp.gnu.org/gnu/screen/screen-4.9.0.tar.gz
tar -zxvf screen-4.9.0.tar.gz
cd screen-4.9.0
sh autogen.sh
sh configure
make && make install
使用
# 创建session
screen -S newsession
# 恢复一个session
screen -r newsession
# 查看所有的session
screen -ls
# 退出session
exit
# 演示屏幕
# 观众可以登录到远程服务器使用
screen -x newsession
# 和操作者同步屏幕内容
# 暂离
# 按住Ctrl,再按a,d
# 有时候使用screen的时候,离开当前session时,想要用screen -r name重新连接该session时发现连不上
# 提示There is no screen to be resumed matching xxx。
# 输入screen -ls命令,发现有session处于Attached状态:
# 如果想重新连接speaker这个session的话,如下:
# 提示:There is no screen to be resumed matching speaker.
# 解决办法:
# 利用
screen -d 你的session名字
# 远程detach某个session
# 之后,这个session的状态就会变成Detached:
# 这时候再用 screen -r 你的session名字,就可以进入这个session了。