[PVE-User] fast way to get all vm names via pvesh?

Mark Schouten mark at tuxis.nl
Thu Dec 15 11:41:36 CET 2016

pve:/> get /cluster/resources -type=vm


Met vriendelijke groeten,

Kerio Operator in de Cloud? https://www.kerioindecloud.nl/
Mark Schouten  | Tuxis Internet Engineering
KvK: 61527076 | http://www.tuxis.nl/
T: 0318 200208 | info at tuxis.nl

 Van:   IMMO WETZEL <IMMO.WETZEL at adtran.com> 
 Aan:   "pve-user at pve.proxmox.com" <pve-user at pve.proxmox.com> 
 Verzonden:   15-12-2016 11:35 
 Onderwerp:   [PVE-User] fast way to get all vm names via pvesh? 


Thats my current script to get all vm names from the cluster. Afterwards I check the new name against the list to prevent errors.

#!/usr/bin/env bash
nodes=$(pvesh get  /nodes/ 2>/dev/null  | sed -n -E '/\"id\"/ s/.*:\s\"(.*)\".*/\1/p' | sed -n -E 's/node/nodes/p' )
vms=$(for i in $nodes ; do vms=$(pvesh get $i/qemu/ 2>/dev/null | sed -n -E '/vmid/ s/.*:\s(.*[^\s]).*/\/qemu\/\1/p') ; for q in $vms ; do echo $i$q ; done  ; done )
for i in $vms ; do pvesh get $i/config 2>/dev/null | sed -n -E '/\"name\"/ s/.*:\s\"(.*[^\"])\".*/\1/p' | xargs echo "vm $i has name"  ; done


Any better ideas ?

Mit freundlichen Grüßen / With kind regards

Immo Wetzel
pve-user mailing list
pve-user at pve.proxmox.com

More information about the pve-user mailing list