我需要编写一个脚本(bash 或 python 或??)来执行实时迁移虚拟机森,并同时记录和提取中央处理器&带宽使用Domain-0
和将输出以格式良好的形式写入文本文件。
我目前所做的:
我目前使用此代码来记录“Domain-0”的 CPU 使用率:
xentop -d1 -bi500 | awk '$1 == "Domain-0" { print $4 }'
它每秒从命令中读取 CPU 使用率xentop
并将其打印在 bash 中。我找不到将输出写入文本文件的方法。
和为了同时迁移虚拟机并监控 CPU 使用情况,我执行以下操作:
xentop -d1 -bi500 | awk '$1 == "Domain-0" { print $4 }' & xl migrate vm1 destination-host --live --debug
这样两个命令就可以同时运行,当我看到迁移命令完成时,我会复制迁移命令启动时到完成时打印的 CPU 使用情况,并将其粘贴到文本文件中。这很无聊而且不准确!!
因此,我需要一种明智的方法来编写脚本,以便每当我执行它时,它都会请求虚拟机的名称和目标 IP 或主机名,然后它会触发迁移命令并同时记录 CPU 和带宽,并为每个输出添加时间戳,这样我就可以准确地确定实时迁移过程中发生的情况。
像这样:
Migration Started
CPU(%) Bandwidth(MB/s) Time
26 14.8 14:31:26
32.5 13.2 14:31:27
...
...
...
10 0.5 14:32:54
Migration Finished
我还需要一段代码来确定Domain-0的实时带宽使用情况。
答案1
首先,非常感谢这个命令,因为它解决了我的问题。
回答你的问题,你可以将迭代次数设为 1,这样 bash 代码将在一次迭代中取消,然后你可以使用“>file.txt”获取输出。你可以将所有这些代码放入一个循环中,进行 500 次迭代或你想要的迭代。