取消定义所有不活跃的域

取消定义所有不活跃的域

我在 libvirt 中有多个不活动的域,我想将它们全部删除:

# virsh list --inactive
 Id Name                 State
----------------------------------
  - instance-0000000c    shut off
  - instance-0000000f    shut off
  - instance-00000010    shut off

有没有简单的方法可以告诉 libvirt 删除所有不活动的域,或者我必须手动执行:

# virsh undefine instance-0000000c
# virsh undefine ...

答案1

类似这样的事情应该可以工作:

$ virsh list --inactive | grep instance | cut -d " " -f 4 | xargs -n 1 virsh undefine

如果你想在杀死他们之前查看该列表:

$ virsh list --inactive | grep instance | cut -d " " -f 4 > inactive_domains
$ vi inactive_domains

如果一切看起来都很好:

$ cat inactive_domains | xargs -n 1 virsh undefine

答案2

有一个更简洁的方法可以做到这一点:

virsh list --inactive --name | xargs -r -n 1 virsh undefine

小心,它会清除所有东西。此外,当没有东西可清理时,它也不会失败。

相关内容