應用場景:
請專家通過Console處理問題時,保留console輸出無疑是非常有意義的。一來可留着作為維護日志,二來可供事后學習。
最簡潔的方式是通過系統自帶的script命令去記錄。
$ script -a /tmp/xxx.log
當操作完畢后按住ctrl+d或shell執行exit退出時,即可結束script程序,log保存在指定的文件。
log不是即時寫入的,當script程序結束時才寫入log文件中。經測試當使用su - user切換用戶時,log也可記錄不用擔心記錄不完整。
另外一種方法則是通過screen程序去記錄屏幕輸出,相比第一種方法screen是實時寫入的。可以用tail -f xxx.log實時跟蹤,在專家操作時就不用都圍着窗口看,很方便。同時不用擔心斷網或程序被意外kill掉。
方法:
- 在 /etc/screenrc 中加入 logfile /tmp/screenLog-%t.log
- 在啟動screen時指定title名子和session名子: $ screen -L -t xxx2017_03_17 -S abc
參數說明:
- -L 記錄log,如果不加則說明不記錄log
- -t title-name,這個句子最終會在log名稱上出現,即%t的部分
- -S session-name,這個session名稱在后面重新登入時會用到
- 當screen結束時可執行exit退出,臨時掛起的話執行 ctrl+a d (這是screen的命令)
- 可通過screen -ls查看創建的session, 登入使用 screen -d -r session-name