具有轮换和清理功能的全局 tmux 日志记录

具有轮换和清理功能的全局 tmux 日志记录

是否可以配置 tmux,以便无论创建、执行、关闭什么会话,tmux 都会自动创建具有唯一会话名称的适当目录,将这些会话的所有输出记录到文件中,轮换它们并删除旧的......

如果您的所有服务都在 tmux 中运行并输出到 stdout/err,这将是日志记录的一个全局解决方案。

答案1

这是可能的,保存当前窗格内容的命令是

capture-pane -S - -E - ; save-buffer ~/path/to/logfile ; delete-buffer

有许多可用的变量,因此你可以做类似的事情

capture-pane -S - -E -
save-buffer ~/path/to/#{session_name}/#{window_name}/#{pane_id}
delete-buffer

您可以使用 运行 shell 命令run-shell。您可以使用 为各种事件设置钩子(例如session-createdpane-exited(当窗格中的命令退出时触发,session-closedset-hook

请参阅手册 ( man tmux) 了解更多详情。不过,我不知道这是否是记录的最佳解决方案。

相关内容