实战:使用screen后台实时执行命令备份命令

实战场景:公司晚上需要备份1T数据,我在xshell上直接执行备份脚本back.sh可以吗?或直接运行back.sh & 放到后台运行可以吗?当关了xshell后,back.sh & 还在后台执行吗?

:xshell长时间连接,如果本地网络偶尔断开或xshell不小心关闭,都会让后台运行的备份命令停止运行的。正确做法使用: srceen

screen概述和安装

Screen中有会话的概念,,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

安装screen软件包

# rpm -ivh /mnt/Packages/screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm

或者

# yum -y install screen

screen使用方法

直接在命令行键入screen命令回车,如下图

[root@xuegod63 ~]# screen

Screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样

image.png

例如,我们在做某个大型的操作但是突然之间断开:

实战:使用screen后台实时执行命令备份命令

[root@xuegod63 ~]# screen     #进入

[root@xuegod63 ~]# vim a.txt   #执行命令, 或执行你自己需要运行的备份命令

此时想离开一段时间,但还想让这个命令继续运行

[root@xuegod63 ~]#      #在screen当前窗口键入快捷键Ctrl+a+d

[detached from 44074.pts-3.xuegod63]        #分离出来独立的一个会话

detached  [dɪˈtætʃt]   分离,独立

半个小时之后回来了,找到该screen会话:

[root@tivf06 ~]# screen -ls    #查看已经建立的会话ID

There is a screen on:

         44074.pts-1.tivf06      (Detached)

1 Socket in /tmp/screens/S-root.

重新连接会话:

[root@xuegod63 ~]# screen -r 44074   

root@xuegod63 ~]# exit    #不想使用screen 会话了,执行:exit退出。

附:常用screen参数

screen -S test  ->      新建一个叫test的会话

screen -ls     ->      列出当前所有的会话

screen -r test  ->      回到test会话

版权声明:
作者:WaterBear
链接:https://l-t.top/1373.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>