screen是Linux視窗管理器,使用者可以建立多個screen會話,每個screen會話又可以建立多個window視窗,每一個視窗就像一個可操作的真實的ssh終端一樣。
screen詳解:http://www.ibm.com/developerworks/cn/linux/l-cn-screen/
下面介紹如何記錄screen螢幕日志。
第一種方法:
啟動時添加選項-L(Turn on output logging.),會在目前目錄下生成screenlog.0檔案。
<a href="http://s3.51cto.com/wyfs02/M02/48/86/wKioL1QJQ1-zsceYAABrE371q_I797.jpg" target="_blank"></a>
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最後添加下面一行:
<code>logfile </code><code>/tmp/screenlog_</code><code>%t.log</code>
%t是指window視窗的名稱,對應screen的-t參數。是以我們啟動screen的時候要指定視窗的名稱,例如:
<a href="http://s3.51cto.com/wyfs02/M02/48/87/wKioL1QJSYOCbu7oAAB1Zw9Tfew071.jpg" target="_blank"></a>
screen -L -t window1 -dmS test的意思是啟動test會話,test會話的視窗名稱為window1。螢幕日志記錄在/tmp/screenlog_window1.log。如果啟動的時候不加-L參數,在screen session下按ctrl+a H,日志也會記錄在/tmp/screenlog_window1.log。
本文轉自 張斌_青島 51CTO部落格,原文連結:http://blog.51cto.com/qicheng0211/1549201