1. 程式人生 > >Linux Screen技巧:記錄屏幕日

Linux Screen技巧:記錄屏幕日

screen

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

第一種方法:

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

技術分享

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

screen -r test連接該會話,在會話中的所有屏幕輸出都會記錄到screenlog.0文件。

第二種方法:

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

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

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

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

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

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

logfile /tmp/screenlog_%t.log

%t是指window窗口的名稱,對應screen的-t參數。所以我們啟動screen的時候要指定窗口的名稱,例如:

技術分享

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




[[email protected] ~]# screen -ls

There are screens on:

67495.test (Detached)

67752.test (Detached)

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


[[email protected] ~]# screen -r 67495


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

[[email protected] ~]# screen -ls

There is a screen on:

67752.test (Detached)

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


本文出自 “10732668” 博客,請務必保留此出處http://10742668.blog.51cto.com/10732668/1943057

Linux Screen技巧:記錄屏幕日