如何将实时日志 bash 输入保存到文件?

如何将实时日志 bash 输入保存到文件?

当我上课时,有些学生无法遵循我的 CLI 命令,他们希望回滚以便能够按照自己的速度重复这些步骤。因此,我希望将所有输​​入实时记录到 html 文件或类似文件中,我可以通过网络服务器提供这些文件。这样,学生就可以直接访问http://example.com/log#结束并且总是会看到最后的条目。

我确实知道的多用户模式,screen并且已经使用它来共享会话。但是,我需要禁用学生的写入权限,不幸的是,如果我这样做,他们就无法向上滚动。

我也查看了script,但它生成的输出非常糟糕,即使经过过滤也col -bp < logfile >> output.html难以阅读。此外,它还会记录输出,这使事情变得复杂,并且只会在不可预见的时间间隔内转储日志文件。

.bash_history可以使用,但仅在会话结束时才会转储到文件中。

有任何想法吗?

答案1

使用内置命令history

history -w hist.txt

将把当前历史记录保存到文件 hist.txt 中。

如果您对相应的目录具有写权限,您可以执行以下操作:

history -w /var/www/html/latest_history.txt

然后您的学生可以通过浏览器访问它:http://teachers.ip.address/latest_history.txt

相关内容