screen是Linux窗口管理器,用戶可以建立多個screen會話,每個screen會話又可以建立多個window窗口,每一個窗口就像一個可操作的真實的ssh終端一樣。
screen詳解:http://www.linuxidc.com/Linux/2013-10/91612.htm
Linux Screen超簡明教程 http://www.linuxidc.com/Linux/2014-04/100040.htm
Linux下Screen的常用命令 http://www.linuxidc.com/Linux/2012-07/65358.htm
Zabbix通過郵件發送Screen圖形報表實現 http://www.linuxidc.com/Linux/2013-06/85759.htm
Linux虛擬終端命令Screen用法詳解 http://www.linuxidc.com/Linux/2013-07/87415.htm
Linux 技巧:使用 Screen 管理你的遠程會話 http://www.linuxidc.com/Linux/2013-10/91612.htm
下面介紹如何記錄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。