【问题标题】:Linux - Monitor remote commands with "script"Linux - 使用“脚本”监控远程命令
【发布时间】:2016-06-17 19:12:09
【问题描述】:

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

我把它设置在我的~/.bash_profile:

script -qtf 2> log.err myFile.log    

哪里参数:

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

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

为了解决这个问题,我使用“-c”参数来解释那些需要与环境变量交互的命令。但是当我使用它时,我的文件没有写入!

我将它设置在我的 ~/.bash_profile 中:

script -qtfc 2> log.err myFile.log

发生了什么?

有没有更好的方法(我敢肯定)来进行这种监控并将其全部记录到文件中?

【问题讨论】:

    标签: linux bash ssh monitoring


    【解决方案1】:

    -c, --command command

    运行命令而不是交互式 shell。这使得脚本可以很容易地捕获当 stdout 不是 tty 时行为不同的程序的输出。

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 2017-01-12
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      • 2011-07-06
      相关资源
      最近更新 更多