保存 tmux 每日历史记录

问题描述 投票:0回答:1

我经常会在 tmux 会话中运行几天,并且我喜欢每天保存我的 bash 历史记录(我使用 logrotate)。除非必要,我不会退出 tmux 会话。我可以以某种方式保存当天的 tmux 历史记录而不退出会话,每天,也许强制 tmux 写入 .bash_history 而不退出会话?

我尝试了

:save-buffer /home/me/tmux-hist.txt
,但这似乎只保存了最后一个命令?

bash shell tmux history
1个回答
0
投票

不确定这个问题是否是针对这个论坛的,但我设法解决了它,所以这是解决方案:

这不是 tmux 问题,而是 shell/bash“问题”。将其添加到 .bashrc:

## Issues with tmux history
# avoid duplicates..
export HISTCONTROL=ignoredups:erasedups
# append history entries:
shopt -s histappend
# After each command, save and reload history:
export PROMPT_COMMAND="history -a; history -n; $PROMPT_COMMAND"

这样,在 tmux 窗口/窗格中运行的命令就会立即添加到历史记录中。如果您在窗格 1 中运行“echo 1”,然后在窗格 2 中运行“echo 2”,您也会在窗格 2 历史记录中看到“echo 1”。 然后通过 logrotate 保存每日历史记录。

© www.soinside.com 2019 - 2024. All rights reserved.