Linux记录屏幕输出log

时间:2023-03-09 02:57:48
Linux记录屏幕输出log

应用场景:

请专家通过Console处理问题时,保留console输出无疑是非常有意义的。一来可留着作为维护日志,二来可供事后学习。

最简洁的方式是通过系统自带的script命令去记录。

$ script -a /tmp/xxx.log

当操作完毕后按住ctrl+d或shell执行exit退出时,即可结束script程序,log保存在指定的文件。

Linux记录屏幕输出log

Linux记录屏幕输出log

log不是即时写入的,当script程序结束时才写入log文件中。经测试当使用su - user切换用户时,log也可记录不用担心记录不完整。

另外一种方法则是通过screen程序去记录屏幕输出,相比第一种方法screen是实时写入的。可以用tail -f xxx.log实时跟踪,在专家操作时就不用都围着窗口看,很方便。同时不用担心断网或程序被意外kill掉。

方法:

  1. 在 /etc/screenrc 中加入 logfile /tmp/screenLog-%t.log
  2. 在启动screen时指定title名子和session名子: $ screen -L -t xxx2017_03_17 -S abc
    参数说明:
    • -L 记录log,如果不加则说明不记录log
    • -t title-name,这个句子最终会在log名称上出现,即%t的部分
    • -S session-name,这个session名称在后面重新登入时会用到
  3. 当screen结束时可执行exit退出,临时挂起的话执行 ctrl+a d  (这是screen的命令)
  4. 可通过screen -ls查看创建的session, 登入使用 screen -d -r session-name