2017-05-23 18 views
0

私の要件は、リモートサーバ上で次のコマンドを実行することによって、コマンド履歴をhistory_yymmdd.txtというファイルに保存することです。Linuxでリモートで履歴コマンドを実行しています

history > history_20170523.txt 

次のコマンドを試しましたが、リモートサーバー(10.12.13.14)に空白のファイルが作成されていました。

ssh 10.12.13.14 "history > history_20170523.txt" 

リモートサーバーにログインしてhistoryコマンドを実行すると、ファイルが正常に作成されました。しかし、20台のサーバでコマンドを実行する必要があるので、各サーバでリモートで実行するためのスクリプトを作成するのが私の目的です。

ありがとうございます。

答えて

2
ssh [email protected]_name "cat ~/.bash_history > history_20170523.txt" 

の歴史 'コマンドは、の.bash_historyの内容をダンプしているので、これはあなたに有用である可能性があります。

よりエレガントな解決策は次のようになります。なぜそう

scp [email protected]_name:~/.bash_history history_20170523.txt 
+0

クリスおかげで回避する。なぜ歴史コマンドが機能しないのか? – veera

+2

'ssh'セッションはインタラクティブではないので、ヒストリをロードしたり他のインタラクティブ機能を有効にしたりしません。これはBashのマニュアルで詳しく述べられています。 – tripleee

+0

@veera - この回答が気に入ったら、upvoteして受け入れてください –

-1

あなたはそれを間違ったやり方で行っています。また、リモートマシンのユーザーもいません。行うための正しい方法は ssh -q -tt [email protected] 'history > history_20170523.txt'

+0

?エラーは何ですか? – newbie

+0

オハイオ州私の悪い、私は彼がやろうとしていたことに気付かなかった。私はちょうどsshコマンドが適切に呼び出されていないsshの部分に焦点を当てました。 – newbie

関連する問題