提问人:Spiro 提问时间:11/16/2023 更新时间:11/16/2023 访问量:24
保存 tmux 每日历史记录
Save tmux daily history
问:
我经常会在 tmux 会话中运行几天,我喜欢每天保存我的 bash 历史记录(我使用 logrotate)。除非必要,否则我不会退出 tmux 会话。我是否可以以某种方式在不退出会话的情况下保存当天的 tmux 历史记录,也许每天强制 tmux 在不退出会话的情况下写入.bash_history?
我试过了,但这似乎只保存了最后一个命令?:save-buffer /home/me/tmux-hist.txt
答:
1赞
Spiro
11/16/2023
#1
不确定这个问题是否适用于这个论坛,但我设法解决了它,所以这是解决方案:
这不是 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 保存每日历史记录。
评论
tmux