遠程鏈接 vps 使用 screen 防掉線

例子:當想要下載一個大文件的時候,ssh 鏈接到服務器以後 用 wget 命令開始下載一個文件,這時 網絡不穩定 忽然掉線了,那麼 文件下載過程也就中斷了。再次 ssh 鏈接到服務器,用 wget 命令從新下載那個文件:以前的下載過程等於白費 (若是再次掉線 那麼又付之東流)。
辦法:ssh 鏈接到服務器以後,先建立一個 screen 的 session ,而後進入到 screen 的一個 session ,而後 用 wget 命令 下載一個文件。這時,若是退出此 session (好比 網絡掉線) 了,那麼 wget 會依舊跑在此 session 裏。再次 ssh 鏈接到服務器的時候,查看 screen 的 session 列表,會發現剛纔啓動的 session 還在。進入它以後,發現 wget 下載過程還在繼續:並未由於你的網絡掉線而中斷。shell

原理:wget 成爲了 screen session 的子進程。ubuntu

相似軟件:tmux (爲何不用 tmux ?命令太難記了!)服務器

配置辦法:
1.安裝 screen網絡

sudo apt-get install screen

2.配置 screen
nano ~/.screenrc 寫入session

startup_message off
autodetach on
nonblock on
vbell off
vbell_msg "Bell on %t (%n)"
shell -$SHELL
caption always "%{= KW}screen -d%{= WK} Detach   %{= KW}ctrl+a+d%{= WK} Detach   %{= KW}screen -r a%{= WK} Resume   %{= KW}exit%{= WK} Destroy   %{= KW}screen -ls%{= WK} List"

重啓ssh

pkill screen
screen -ls

圖片描述

3
例子:進入並啓動 wget 測試

測試大文件 下載spa

ssh -p 22 abc@117.71.214.157
screen -ls
screen -S a
screen -d
screen -ls
screen -r a
cd ~/Downloads
ls
wget http://releases.ubuntu.com/16.04/ubuntu-16.04.6-desktop-amd64.iso

4
經常使用命令code

screen -ls ## 查看 sesson 列表
screen -S a ## 開啓一個 名爲 ‘a’ 的 session
screen -r a ## 進入一個 session ( resume a session )
screen -d   OR ctrl+a+d  ## 離開一個 session ( detach a session )
exit ## 進入一個 session 以後 銷燬本 session

-blog

相關文章
相關標籤/搜索