最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

我如何从df〜提取数据到我的网站上?

IT培训 admin 6浏览 0评论

我如何从df〜提取数据到我的网站上?

我正在创建一个饼图,该饼图显示了Linux机器上有多少可用/已使用的磁盘空间。但是,我不确定如何将数据解析到微服务网址上。帮助将不胜感激。

这是我现在的位置:

路由器:

router.route('/linux_disk').get(disk.get_linux_disk)

控制器:

 function get_linux_disk(req, res, next) {
  try {
    var cmd = `df ~`;
    exec(cmd)

    rows = [];
    rows.push({"Command": cmd});
    if (rows.length >= 1) {
      res.status(200).json(rows);
    } else {
      res.status(404).end();
    }
  } catch (err) {
    next(err);
  }
}
回答如下:

[您可以尝试以下方法,我们为df的每个条目创建一个行对象命令创建。一旦有了这个,您应该可以从这里创建饼图:

async function get_linux_disk(req, res, next) {
    try {
        const result = await execPromise(`df ~`)
        const lines = result.stdout.split("\n");
        const keys = lines[0].split(/\s+/ig);
        // Skip the header row when assigning objects..
        const rows = lines.slice(1).map(line => {
            // Parse each line..
            const values = line.split(/\s+/ig);
            return keys.reduce((o, k, index) => {
                o[k] = values[index];
                return o;
            }, {})
        });
        res.status(200).json(rows);
    } catch (err) {
        res.status(500).send(err.message);
    }
}

生成的JSON看起来像这样:

[
    {
        "Filesystem": "/dev/sda1",
        "1K-blocks": "10253588",
        "Used": "7971516",
        "Available": "1741504",
        "Use%": "83%",
        "Mounted": "/"
    }
]

我如何从df〜提取数据到我的网站上?

我正在创建一个饼图,该饼图显示了Linux机器上有多少可用/已使用的磁盘空间。但是,我不确定如何将数据解析到微服务网址上。帮助将不胜感激。

这是我现在的位置:

路由器:

router.route('/linux_disk').get(disk.get_linux_disk)

控制器:

 function get_linux_disk(req, res, next) {
  try {
    var cmd = `df ~`;
    exec(cmd)

    rows = [];
    rows.push({"Command": cmd});
    if (rows.length >= 1) {
      res.status(200).json(rows);
    } else {
      res.status(404).end();
    }
  } catch (err) {
    next(err);
  }
}
回答如下:

[您可以尝试以下方法,我们为df的每个条目创建一个行对象命令创建。一旦有了这个,您应该可以从这里创建饼图:

async function get_linux_disk(req, res, next) {
    try {
        const result = await execPromise(`df ~`)
        const lines = result.stdout.split("\n");
        const keys = lines[0].split(/\s+/ig);
        // Skip the header row when assigning objects..
        const rows = lines.slice(1).map(line => {
            // Parse each line..
            const values = line.split(/\s+/ig);
            return keys.reduce((o, k, index) => {
                o[k] = values[index];
                return o;
            }, {})
        });
        res.status(200).json(rows);
    } catch (err) {
        res.status(500).send(err.message);
    }
}

生成的JSON看起来像这样:

[
    {
        "Filesystem": "/dev/sda1",
        "1K-blocks": "10253588",
        "Used": "7971516",
        "Available": "1741504",
        "Use%": "83%",
        "Mounted": "/"
    }
]
发布评论

评论列表 (0)

  1. 暂无评论