#!/bin/bash
#
# based on https://iteg.atlassian.net/browse/HOSTING-1557?actionerId=5cac58093318e72736efdee0&sourceType=assign

export STATE="$1"

if [ -z "${STATE}" ] ; then
  STATE="/etc/pve-state"
  echo "INFO: Using default target dir ${STATE}" 
else
  echo "INFO: Using specified target dir ${STATE}" 
fi

echo "INFO: Collecting some crucial PVE infos in ${STATE} ..."
test -d ${STATE}.bak && rm -rf ${STATE}.bak
test -d ${STATE} && mv -v ${STATE} ${STATE}.bak

mkdir -pv "${STATE}"

/usr/bin/pveversion -v                > "${STATE}/pveversion.txt"
#2>/dev/null
/usr/sbin/pvesm status                 > "${STATE}/pvesm-status.txt"
#2>/dev/null
/usr/bin/apt-mark showmanual          > "${STATE}/pkg-manual.txt"
#2>/dev/null
/usr/bin/dpkg --get-selections        > "${STATE}/pkg-selections.txt"
#2>/dev/null
/usr/bin/lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,SERIAL > "${STATE}/lsblk.txt"
#2>/dev/null
/usr/sbin/blkid                        > "${STATE}/blkid.txt"
#2>/dev/null
/usr/sbin/ip -br address               > "${STATE}/ip-address.txt"
#2>/dev/null

#if command -v zpool >/dev/null 2>&1; then
if [ -x /usr/sbin/zpool ] ; then
    /usr/sbin/zpool status             > "${STATE}/zpool-status.txt"
#2>/dev/null
    /usr/sbin/zpool list -v            > "${STATE}/zpool-list.txt"
#2>/dev/null
fi

if [ -f /proc/mdstat ]; then
    cat /proc/mdstat         > "${STATE}/mdstat.txt"
    /usr/sbin/mdadm --detail --scan    > "${STATE}/mdadm-detail.txt"
#2>/dev/null
fi

echo "GOOD: Done collecting some crucial PVE infos in ${STATE}:"
ls -l ${STATE}

echo ""

exit 0

