Linux 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技巧:記錄屏幕日