2

リモートマシンの履歴を表示し、タイムスタンプ(つまり、どのコマンドがいつ実行されたか)を使用してローカルマシンのファイルに保存するプログラムをスケジュールしたいのですが、使用したコードは次のとおりです。

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

ただし、正しいタイムスタンプを付ける代わりに、現在の時刻をすべてのコマンドの前に置きます。したがって、スケジューラがたとえば9時のクロックで実行される場合、すべてのコマンドのタイムスタンプは9時のクロックです。どこが間違っているのですか?

4

1 に答える 1

2

がセッションで設定されていない場合BASHTIMEFORMAT、タイミング情報は履歴ファイルに保存されません(そうでない場合は、コメントとして保存されます)。

したがって、ログに記録しようとしているユーザーが自分の環境にそれを持っていない限り、タイミング情報を取得することはできません。単に記録されていないので、取得することは不可能です。

于 2012-05-19T10:45:55.990 に答える