我想安排一个程序来显示远程计算机的历史记录并将其存储在带有时间戳的本地计算机的文件中(即何时执行了哪些命令) 我使用的代码是这样的:
ssh -i private_key user@ip 'export HISTTIMEFORMAT=\"%D-%T \" ; \
export HISTFILE=/home/$user/.bash_history; \
set -o history; history' > myfile.txt
但是它没有给出正确的时间戳,而是将当前时间放在每个命令的前面。因此,如果调度程序在 9 点钟运行,则每个命令的时间戳都是 9 点钟。 我哪里出错了?
最佳答案
如果在 session 中未设置 BASHTIMEFORMAT
,则计时信息不会保存到历史文件中(否则会在其中保存为注释)。
因此,除非您尝试登录的用户在他/她的环境中具有该信息,否则您将无法获得计时信息。它根本没有记录,因此无法检索。
关于bash - UNIX 中具有正确时间戳的命令历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10664297/