我想安排一个显示远程机器历史的程序,并将其存储在本地机器的文件中,并带有时间戳(即在执行时执行哪些命令) 我使用的代码是:
ssh -i private_key user@ip 'export HISTTIMEFORMAT=\"%D-%T \" ; \
export HISTFILE=/home/$user/.bash_history; \
set -o history; history' > myfile.txt
但是不是给出正确的时间戳,而是将当前时间放在每个命令的前面。因此,如果调度程序在9点钟运行,则每个命令的时间戳为9点钟。 我哪里错了?
答案 0 :(得分:2)
如果未在会话中设置BASHTIMEFORMAT
,则时间信息不会保存到历史记录文件中(否则会将其保存为注释)。
因此,除非您尝试记录的用户在他/她的环境中拥有该用户,否则您将无法获得计时信息。它根本没有记录,所以无法检索。