【问题标题】:How to calculate disk space on remote server and store values using ssh2 & node.js?如何计算远程服务器上的磁盘空间并使用 ssh2 和 node.js 存储值?
【发布时间】:2016-02-10 07:27:54
【问题描述】:

目前我正在使用 SSH2 和 node.js 来监控远程服务器上的磁盘空间和分区。并将输出打印到控制台。但是输出是字符串格式,所以我不能在任何变量中存储可用空间/总空间值。 当前,我正在使用 node.js(ssh2) 中的 con.exec 运行 df -k 命令,以使用凭据在远程服务器上运行命令。

  1. 那么这怎么可能(将磁盘空间存储在变量中)。
  2. 我的最终任务是检查远程服务器上的磁盘空间,如果小于 25%,则生成警报。
  3. 对于 HTML 部分,我正在使用 AngularJs。所以我必须在网页上提供一个按钮来强制检查并为用户生成警报。

我在下面添加了我通过控制台(两者)接收的输出格式

【问题讨论】:

  • 致大家请停止投票这个问题。这可能是你们所有人的黄油任务,但我是节点新手,所以这对我来说是一个瓶颈任务。所以请让我摆脱这种情况。谢谢

标签: javascript angularjs node.js ssh2-sftp


【解决方案1】:

使用df -h | grep sd 只选择硬盘主分区的行。

之后,在结果数组的数据内容中(请参见您的图片,数组的第一项“数据”:“结果”)将空格顺序更改为一个空格。比如你上传的图片Filesystem后面有4个空格,换成1个空格。

在最后的字符串中,您将得到如下结果:/dev/sda1 609G 202G 376G 35% /

现在,您应该将此字符串拆分为空格字符。导致数组: item[0] is Filesystem item[1] is total space item[2] is used space item[3] is available space item[4] is used space in percent form item[5] is mounted on path

非常非常重要的提示:我建议您不要使用这种方法,因为它安全(看您的图片)。

任何人都可以通过firebug追踪找到它!

【讨论】:

  • 一个很棒的解释和答案,但我要求请删除你在答案中提到的用户名和密码
【解决方案2】:

试试这个, 如果您使用的是 linux 系统,则有命令“df -h | grep sd”来查找磁盘空间,我相信 Windows 也必须有命令
js 中的“child_process”模块有助于运行系统命令。要查找磁盘空间详细信息,请使用以下代码。

let command = `df -h | grep sd`;
child_process.exec(command, (err, stdout, stdin) => {
    if (err) {
        console.log("Err", err)

    }
    console.log("Out", stdout.split(/[ ,]+/));

});

【讨论】:

  • 不鼓励使用纯代码的答案。请单击edit 并添加一些词来总结您的代码如何解决问题,或者解释您的答案与之前的答案/答案有何不同。 From Review
猜你喜欢
  • 2013-03-08
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 2014-09-09
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多