如何将shell会话的所有控制台输出发送到日志文件

时间:2011-08-23 19:06:49

标签: unix shell scripting login-script

我不确定这是否可行但是在登录后自动将所有控制台输出(stderr和stdout)发送到日志文件会非常方便。我希望每次登录时都创建一个唯一的文件in和tee所有输出到我的日志目录。提前感谢任何想法,以帮助我设置它。

2 个答案:

答案 0 :(得分:5)

我所知道的唯一实用程序接近您想要的是script命令,它可以为您的会话提供完整的记录。

要自动为所有登录执行此操作,您可能需要创建一个包装器脚本并将其设置为默认shell。

网络上的快速冲突产生了这个脚本:http://snipt.net/d1s4st3r/script-that-acts-as-a-login-shell-replacement-to-log-everything-an-user-does/

我没有使用它,但一眼就看起来像它在罐头上所说的那样。

答案 1 :(得分:0)

这是指向描述命令“script”的站点的链接,该命令采用日志文件的参数来创建。将其放在.login文件中将导致每次登录时都会创建日志。使用日期和时间生成日志文件名将为每个会话创建单独的日志。输入Ctrl-D将结束我尚未测试过的脚本会话,但我很确定这是所述问题的解决方案。

http://lxtipsandtricks.blogspot.com/2009/03/how-to-capture-unix-console-screen.html