Linux Screen技巧:記錄屏幕日

下面介紹如何記錄screen屏幕日誌。node

第一種方法:linux

啓動時添加選項-L(Turn on output logging.),會在當前目錄下生成screenlog.0文件。session

wKioL1lUkYHyvGn1AAAsfLIR_Y8131.png-wh_50

screen -L -dmS test的意思是啓動一個開始就處於斷開模式的會話,會話的名稱是test。ide

screen -r test鏈接該會話,在會話中的全部屏幕輸出都會記錄到screenlog.0文件。ui

第二種方法:命令行

不加選項-L,啓動後,在screen session下按ctrl+a H,一樣會在當前目錄下生成screenlog.0文件。日誌

第一次按下ctrl+a H,屏幕左下角會提示Creating logfile "screenlog.0".,開始記錄日誌。blog

再次按下ctrl+a H,屏幕左下角會提示Logfile "screenlog.0" closed.,中止記錄日誌。get

上面兩個方法有個缺點:當建立多個screen會話的時候,每一個會話都會記錄日誌到screenlog.0文件。screenlog.0中的內容就比較混亂了。it

解決方法以下,讓每一個screen會話窗口有單獨的日誌文件。

在screen配置文件/etc/screenrc最後添加下面一行:

logfile /tmp/screenlog_%t.log

%t是指window窗口的名稱,對應screen的-t參數。因此咱們啓動screen的時候要指定窗口的名稱,例如:

wKioL1lUksHxOzoPAAAeg2xZT9g882.png-wh_50

screen -L -t window1 -dmS test的意思是啓動test會話,test會話的窗口名稱爲window1。屏幕日誌記錄在/tmp/screenlog_window1.log。若是啓動的時候不加-L參數,在screen session下按ctrl+a H,日誌也會記錄在/tmp/screenlog_window1.log。




[root@linux-node1 ~]# screen -ls

There are screens on:

        67495.test      (Detached)

        67752.test      (Detached)

2 Sockets in /var/run/screen/S-root.


[root@linux-node1 ~]# screen -r 67495


進入67495窗口後,執行exit退出當前窗口。當一個會話中的全部窗口都被結束,則該會話會被自動終止,命令行會提示[screen is terminating]。此時在查看只有一個會話了:

[root@linux-node1 ~]# screen -ls

There is a screen on:

        67752.test      (Detached)

1 Socket in /var/run/screen/S-root.

相關文章
相關標籤/搜索