背景:在通过ssh管理服务器的过程中,经常会出现意外断网、掉线的问题,出现断网掉线的时候终端就断开,如果此时有前台正在运行的程序或者当前的操作非常重要且不可终止,后果可能很严重,那时你就欲哭无泪呀,也许有同学说可以用nohup,不错,但是在很多时候我们也不知道什么时候掉线、什么时候断网,即使我们知道nohup,也不一定能有效的利用起来,并且每次前后台来回切换也挺麻烦的。所以找到了一种一次配置(还是对用户透明),终身受益的方式----screen。
用途:可靠的恢复异常中断的ssh会话
要点:用linux下强大的screen开启虚拟终端,配合用户的profile文件一次搞定,用户ssh登录后自动提示是否有异常中断的会话,有的话提示选择要恢复的会话,没有的话直接进入新会话,所有操作对终端用户是透明的,如果后期再结合堡垒机那就更完美了。
配置过程:
1、安装screen(略)
2、在特定用户的profile文件末尾添加如下(也可以用全局profile)
[root@admin200 ~]# more /home/chroot_test/.bash_profile
##add by lai
start_time=$(date +%Y年%m月%d日%H:%M:%S)
ssh_session_name=laijingli_$start_time
##查询挂起的会话
/usr/bin/screen -ls|/bin/grep Detached >/dev/null