Original link: https://blog.frytea.com/archives/771/
All QEMU virtual machines can be deleted at once with the following command:
serial
qm list | awk 'NR>1 {print $1}' | xargs -I {} qm destroy {}
explain:
- The
qm list
command gets a list of all virtual machines. -
awk 'NR>1 {print $1}'
command skips the first line (header) and extracts the VMID column. -
xargs -I {} qm destroy {}
command deletes each virtual machine by passing each VMID as an argument to theqm destroy
command.
NOTE: This command deletes all virtual machines, please ensure proper backup and confirmation is done before executing.
parallel
You can delete all QEMU virtual machines in parallel with the following command:
qm list | awk 'NR>1 {print $1}' | xargs -P 0 -I {} sh -c 'qm destroy {} || true'
explain:
- The
qm list
command gets a list of all virtual machines. -
awk 'NR>1 {print $1}'
command skips the first line (header) and extracts the VMID column. -
xargs -P 0 -I {} sh -c 'qm destroy {} || true'
command deletes each VM by passing each VMID as an argument to theqm destroy
command.-P 0
option tellsxargs
to run as many processes as possible in parallel.|| true
ensures that the exit status is0
ifqm destroy
command fails, so other delete operations still proceed.
NOTE: This command deletes all virtual machines, please ensure proper backup and confirmation is done before executing.
This article is transferred from: https://blog.frytea.com/archives/771/
This site is only for collection, and the copyright belongs to the original author.