在unix中使用正确的时间戳命令历史记录

时间:2012-05-19 10:20:05

标签: bash unix ssh history timestamp

我想安排一个显示远程机器历史的程序,并将其存储在本地机器的文件中,并带有时间戳(即在执行时执行哪些命令) 我使用的代码是:

ssh -i private_key user@ip 'export HISTTIMEFORMAT=\"%D-%T \" ; \
                            export HISTFILE=/home/$user/.bash_history; \
                            set -o history; history' > myfile.txt

但是不是给出正确的时间戳,而是将当前时间放在每个命令的前面。因此,如果调度程序在9点钟运行,则每个命令的时间戳为9点钟。 我哪里错了?

1 个答案:

答案 0 :(得分:2)

如果未在会话中设置BASHTIMEFORMAT,则时间信息不会保存到历史记录文件中(否则会将其保存为注释)。

因此,除非您尝试记录的用户在他/她的环境中拥有该用户,否则您将无法获得计时信息。它根本没有记录,所以无法检索。