Added script for generating a CSV file of CT/VM Guests
This commit is contained in:
45
DistroInventory.sh
Normal file
45
DistroInventory.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
##########################################
|
||||
# ProxMox update tools #
|
||||
# Get OS release info on all CT`s/VM`s #
|
||||
# @author: Bram Prieshof #
|
||||
##########################################
|
||||
|
||||
#Dirs
|
||||
WorkDir=$(dirname $0)
|
||||
#InventoryFile
|
||||
InventoryFile=$WorkDir/GuestInventory.csv
|
||||
#Load functions
|
||||
source $WorkDir/functions.sh
|
||||
#Create Log folder
|
||||
|
||||
#Get what sould be checked
|
||||
CheckVM=true
|
||||
CheckCT=true
|
||||
|
||||
echo "Type,ID,Name,Status,Distro,Version" | tee $InventoryFile
|
||||
|
||||
#CT updates
|
||||
if $CheckVM; then
|
||||
TYPE=CT;
|
||||
for ID in $(pct list | tail -n+2 | awk '{print $1}'); do
|
||||
local STATUS=$(pct status $ID |sed 's/status: //')
|
||||
local NAME=$(pct config $ID | grep hostname |sed 's/hostname: //')
|
||||
if [ $STATUS == "running" ]; then local OSRELEASE=$(pct exec $ID -- cat /etc/os-release);fi
|
||||
ParseOSRelease
|
||||
unset OSRELEASE TYPE ID NAME STATUS DISTRO VERSION
|
||||
done
|
||||
fi
|
||||
|
||||
#VM Updates
|
||||
if $CheckCT; then
|
||||
TYPE=VM;
|
||||
for ID in $(qm list | tail -n+2 | awk '{print $1}'); do
|
||||
local STATUS=$(qm status $ID |sed 's/status: //')
|
||||
local NAME=$(qm config $ID | grep name |sed 's/name: //')
|
||||
if [ $STATUS == "running" ]; then local OSRELEASE=$(qm guest exec 2002 -- cat /etc/os-release |jq -r '.["out-data"]')
|
||||
ParseOSRelease
|
||||
unset OSRELEASE TYPE ID NAME STATUS DISTRO VERSION
|
||||
done
|
||||
fi
|
||||
Reference in New Issue
Block a user