在linux中远程运行历史命令

时间:2017-05-23 14:56:30

标签: linux unix

我的要求是通过在远程服务器上运行以下命令将命令的历史记录保存到名为history_yymmdd.txt的文件中。

history > history_20170523.txt

我尝试使用以下命令,但它在远程服务器上创建了一个空白文件(10.12.13.14)。

ssh 10.12.13.14 "history > history_20170523.txt"

当我登录远程服务器并运行history命令时,文件已成功创建。但我需要在20台服务器上运行该命令,因此创建一个脚本以便在每台服务器上远程运行它是我的目标。

提前致谢。

2 个答案:

答案 0 :(得分:2)

ssh user@machine_name "cat ~/.bash_history > history_20170523.txt"

'history'命令会转储.bash_history的内容,因此这对您有用。

更优雅的解决方案可能是:

scp user@machine_name:~/.bash_history history_20170523.txt

答案 1 :(得分:-1)

你是以错误的方式做的,也没有远程机器的用户。正确的方法是 ssh -q -tt user@10.12.13.14 'history > history_20170523.txt'