如何计算远程服务器上的磁盘 space 并使用 ssh2 & node.js 存储值?

How to calculate disk space on remote server and store values using ssh2 & node.js?

目前我正在使用 SSH2 和 node.js 来监视远程服务器上的磁盘 space 和分区。并将输出打印到控制台。但是输出是字符串格式,所以我无法在任何变量中存储 free space / total space 值。 目前我正在 运行ning df -k 命令使用 con.execnode.js(ssh2) 到 运行 使用凭据对远程服务器发出命令。

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

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

使用df -h | grep sd到select只有硬盘主分区的行。

之后,在结果数组的数据内容中(看你的图片,数组的第一项"data":"RESULT")将space的顺序改为一个space.比如你上传的图片Filesystem后面有4个space,换成一个space.

在最后的字符串中,您仍然会得到这样的结果:/dev/sda1 609G 202G 376G 35% /

现在,您应该将此字符串拆分为 space 个字符。导致数组: 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!

追踪找到它

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

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

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

});