Linux - 使用"脚本"监控远程命令

时间:2016-06-17 19:12:10

标签: linux bash ssh monitoring

我在Linux中使用script命令来监控我的bash中完成的所有操作,并将结果保存在myFile.log中,并将错误保存在log.err中。

我在~/.bash_profile

中设置了它
script -qtf 2> log.err myFile.log    

参数:

  • -q:不显示已保存的文件
  • -t:在另一个文件中显示错误
  • -f:实时显示日志

我注意到当我执行远程命令时,无法识别$ TERM环境变量,并且不执行某些特定(和重要)应用程序命令。

为了解决这个问题,我使用了" -c"用于解释需要与env vars交互的命令的参数。但是当我使用它时,我的文件没有被写出来!

我在〜/ .bash_profile中设置了它:

script -qtfc 2> log.err myFile.log

发生了什么事?

是否有更好的方法(我确定是)进行此监控并将其全部记录到文件中?

1 个答案:

答案 0 :(得分:0)

  

-c, --command command

     

运行命令而不是交互式shell。这使得脚本可以轻松捕获程序的输出,当stdout不是tty时,该程序的行为会有所不同。

命令选项需要参数。如果你这样写(script -qtfc 2> log.err myFile.log),使用的命令是2>,这肯定不是你想要的。

运行什么命令,可能在bash变量$*中,所以可能的方法是script -qtfc "$*" 2> log.err myFile.log