223 lines
7.9 KiB
Bash
Executable File
223 lines
7.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# TA-Proxmenu - Proxmox Scripts for TA Use
|
|
|
|
|
|
[ "${2}" != "q" ] && source /opt/idssys/defaults/colors.inc
|
|
source /opt/idssys/defaults/default.inc
|
|
source /opt/idssys/ta-proxmenu/defaults.inc
|
|
|
|
|
|
INSTALL_ACRONIS() {
|
|
# read -n 1 -p "Are you sure you wish to install Acronis (Y/n)?" choice
|
|
# case "$choice" in
|
|
# [Nn]) MAIN_MENU;;
|
|
# * )
|
|
# echo
|
|
|
|
echo -e "\n${idsCL[LightYellow]}Acronis install script has not been finished ${idsCL[Default]}"
|
|
echo -e "\n${idsCL[LightCyan]}You're just going to have to do it yourself, you lazy bum .... :*^(${idsCL[Default]}"
|
|
[ ${action-x} ] && exit 0
|
|
ENTER2CONTINUE
|
|
# esac
|
|
}
|
|
|
|
INSTALL_PROXMENUX() {
|
|
read -n 1 -p "Are you sure you wish to install ProxMenux (Y/n)?" choice
|
|
case "$choice" in
|
|
[Nn]) MAIN_MENU;;
|
|
* )
|
|
echo
|
|
bash -c "$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh)"
|
|
echo -e "\n${idsCL[Green]}ProxMenux has been installed${idsCL[Default]}"
|
|
[ ${action-x} ] && exit 0
|
|
ENTER2CONTINUE
|
|
esac
|
|
}
|
|
|
|
INSTALL_SCREENCONNECT() {
|
|
read -n 1 -p "Are you sure you wish to install ScreenConnect (Y/n)?" choice
|
|
case "$choice" in
|
|
[Nn]) MAIN_MENU;;
|
|
* )
|
|
echo
|
|
|
|
echo -en "${idsCL[LightYellow]}Paste the URL provided from the Build Installer: ${idsCL[Default]}"
|
|
read -e SCURL
|
|
wget "${SCURL}" -O /tmp/scinstall
|
|
dpkg -i /tmp/scinstall
|
|
apt install --fix-broken -y
|
|
apt remove "connectwis*" -y
|
|
dpkg -i /tmp/scinstall
|
|
rm -f /tmp/scinstall
|
|
|
|
echo -e "\n${idsCL[Green]}ScreenConnect has been installed${idsCL[Default]}"
|
|
[ ${action-x} ] && exit 0
|
|
ENTER2CONTINUE
|
|
esac
|
|
}
|
|
|
|
INSTALL_RMM() {
|
|
read -n 1 -p "Are you sure you wish to install RMM (Y/n)?" choice
|
|
case "$choice" in
|
|
[Nn]) MAIN_MENU;;
|
|
* )
|
|
echo
|
|
|
|
echo -en "${idsCL[LightYellow]}Paste the Linux Server URL provided from the Download Agent screen: ${idsCL[Default]}"
|
|
read -e RMMURL
|
|
wget "${RMMURL}" -O /tmp/rmminstall
|
|
TOKEN="$(echo ${RMMURL} | awk -F 'TKN' '{print $2}' | awk -F '/RUN' '{print $1}')"
|
|
CMD="TOKEN=${TOKEN} bash /tmp/rmminstall"
|
|
eval ${CMD}
|
|
rm -f /tmp/rmminstall
|
|
|
|
echo -e "\n${idsCL[Green]}RMM has been installed${idsCL[Default]}"
|
|
[ ${action-x} ] && exit 0
|
|
ENTER2CONTINUE
|
|
esac
|
|
}
|
|
|
|
|
|
INSTALL_OMSA() {
|
|
read -n 1 -p "Are you sure you wish to install Dell OpenManage Administrator (Y/n)?" choice
|
|
case "$choice" in
|
|
[Nn]) MAIN_MENU;;
|
|
* )
|
|
echo
|
|
|
|
mkdir /tmp/omsa
|
|
cd /tmp/omsa
|
|
apt install gnupg libcurl4t64 libncurses6 libxslt1.1 libgpm2 libtinfo6
|
|
mkdir -p /etc/apt/keyrings
|
|
wget -qO - https://linux.dell.com/repo/pgp_pubkeys/0x1285491434D8786F.asc | gpg --dearmor -o /etc/apt/keyrings/linux.dell.com.gpg
|
|
chmod +r /etc/apt/keyrings/linux.dell.com.gpg
|
|
echo "deb [signed-by=/etc/apt/keyrings/linux.dell.com.gpg] http://linux.dell.com/repo/community/openmanage/11000/jammy jammy main" > /etc/apt/sources.list.d/linux.dell.com.list
|
|
apt update
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-curl-client-transport1_2.6.5-0ubuntu16_amd64.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-client4t64_2.6.5-0ubuntu16_amd64.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman1t64_2.6.5-0ubuntu16_amd64.deb
|
|
wget -c http://http.us.debian.org/debian/pool/main/libx/libxml2/libxml2-16_2.15.1+dfsg-2+b1_amd64.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-server1t64_2.6.5-0ubuntu16_amd64.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-sfcc/libcimcclient0_2.2.8-0ubuntu2_amd64.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/openwsman_2.6.5-0ubuntu16_amd64.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/multiverse/c/cim-schema/cim-schema_2.48.0-0ubuntu1_all.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-sfc-common/libsfcutil0_1.0.1-0ubuntu4_amd64.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/multiverse/s/sblim-sfcb/sfcb_1.4.9-0ubuntu7_amd64.deb
|
|
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-cmpi-devel/libcmpicppimpl0_2.0.3-0ubuntu2_amd64.deb
|
|
wget -c http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb
|
|
dpkg -i libwsman-curl-client-transport1_2.6.5-0ubuntu16_amd64.deb
|
|
dpkg -i libwsman-client4t64_2.6.5-0ubuntu16_amd64.deb
|
|
dpkg -i libxml2-16_2.15.1+dfsg-2+b1_amd64.deb
|
|
dpkg -i libwsman1t64_2.6.5-0ubuntu16_amd64.deb
|
|
dpkg -i libwsman-server1t64_2.6.5-0ubuntu16_amd64.deb
|
|
dpkg -i libcimcclient0_2.2.8-0ubuntu2_amd64.deb
|
|
dpkg -i openwsman_2.6.5-0ubuntu16_amd64.deb
|
|
dpkg -i cim-schema_2.48.0-0ubuntu1_all.deb
|
|
dpkg -i libsfcutil0_1.0.1-0ubuntu4_amd64.deb
|
|
dpkg -i sfcb_1.4.9-0ubuntu7_amd64.deb
|
|
dpkg -i libcmpicppimpl0_2.0.3-0ubuntu2_amd64.deb
|
|
dpkg -i libssl1.1_1.1.1w-0+deb11u1_amd64.deb
|
|
apt install srvadmin-all
|
|
/opt/dell/srvadmin/sbin/srvadmin-services.sh start
|
|
rm -Rf /tmp/omsa
|
|
|
|
echo -e "\n${idsCL[Green]}Dell OMSA has been installed${idsCL[Default]}"
|
|
echo -e "\n${idsCL[LightCyan]}Available at: ${idsCL[LightGreen]}https://[proxmox-host-ip]:1311${idsCL[Default]}"
|
|
[ ${action-x} ] && exit 0
|
|
ENTER2CONTINUE
|
|
esac
|
|
}
|
|
|
|
DETECT_CPU(){
|
|
echo
|
|
if ! command -v proxclmc &> /dev/null; then
|
|
cd /tmp
|
|
wget https://cdn.gyptazy.com/debian/proxclmc/proxclmc_1.2.0_amd64.deb
|
|
dpkg -i proxclmc_1.2.0_amd64.deb
|
|
rm -f proxclmc_1.2.0_amd64.deb
|
|
echo
|
|
fi
|
|
proxclmc
|
|
echo
|
|
|
|
echo -en "${idsCL[LightCyan]}Would you like to set '${idsCL[Green]}$(proxclmc --list-only)${idsCL[LightCyan]}' on all VMs (y/N)?${idsCL[Default]}"
|
|
read -n 1 choice
|
|
case "$choice" in
|
|
[Yy])
|
|
sed -i "/cpu:/c cpu: $(proxclmc --list-only)" /etc/pve/nodes/*/qemu-server/*.conf
|
|
echo
|
|
echo -e "\n${idsCL[Green]}All VM's have been reconfigured\n${idsCL[LightCyan]}This will require the VM's to be powered off and then turned back on in order to take effect${idsCL[Default]}"
|
|
;;
|
|
*) echo;;
|
|
esac
|
|
|
|
[ ${action-x} ] && exit 0
|
|
ENTER2CONTINUE
|
|
}
|
|
|
|
|
|
|
|
|
|
MAIN_MENU() {
|
|
while :
|
|
do
|
|
clear
|
|
echo
|
|
echo -e " ${idsCL[Green]}TA-Proxmenu - Proxmox Scripts${idsCL[Default]} ${idsCL[Default]}(ver-${VERS})"
|
|
echo -e "${idsCL[Green]}---------------------------------------------------------------------------${idsCL[Default]}"
|
|
echo -e "Hostname: ${idsCL[Cyan]}$(hostname -s)${idsCL[Default]}"
|
|
echo -e "IP Address: ${idsCL[Cyan]}${RNIP}${idsCL[Default]}"
|
|
echo -e "---------------------------------------------------------------------------"
|
|
echo
|
|
echo -e " [${idsCL[LightYellow]}P${idsCL[Default]}] ${idsCL[White]}Install ProxMenux${idsCL[Default]}"
|
|
echo -e " [${idsCL[LightYellow]}R${idsCL[Default]}] ${idsCL[White]}Install RMM Agent${idsCL[Default]}"
|
|
echo -e " [${idsCL[LightYellow]}S${idsCL[Default]}] ${idsCL[White]}Install ScreenConnect Agent${idsCL[Default]}"
|
|
echo -e " [${idsCL[LightYellow]}A${idsCL[Default]}] ${idsCL[White]}Install Acronis CyberProtect Backup Agent${idsCL[Default]}"
|
|
echo -e " [${idsCL[LightYellow]}O${idsCL[Default]}] ${idsCL[White]}Install Dell OMSA${idsCL[Default]}"
|
|
echo
|
|
echo -e " [${idsCL[LightYellow]}C${idsCL[Default]}] ${idsCL[White]}Detect CPU-Arch for Live Migrations${idsCL[Default]}"
|
|
echo
|
|
echo
|
|
echo -e " [${idsCL[LightYellow]}Q${idsCL[Default]}] ${idsCL[White]}Quit${idsCL[Default]}"
|
|
echo
|
|
echo
|
|
echo -e -n "${idsCL[Yellow]}Enter ${idsCL[LightYellow]}option${idsCL[Yellow]} from above:${idsCL[Default]} "
|
|
read -n 1 opt
|
|
echo
|
|
case $opt in
|
|
|
|
[Pp]) INSTALL_PROXMENUX;;
|
|
[Rr]) INSTALL_RMM;;
|
|
[Ss]) INSTALL_SCREENCONNECT;;
|
|
[Aa]) INSTALL_ACRONIS;;
|
|
[Oo]) INSTALL_OMSA;;
|
|
[Cc]) DETECT_CPU;;
|
|
[Qq])
|
|
EXIT1
|
|
exit 0;;
|
|
*) echo "Thats an invaild option,";
|
|
echo "please select a valid option only.";
|
|
sleep 1;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
|
|
if [ ${action-x} ]; then
|
|
case $action in
|
|
install-acronis) INSTALL_ACRONIS;;
|
|
install-proxmenux) INSTALL_PROXMENUX;;
|
|
install-screenconnect) INSTALL_SCREENCONNECT;;
|
|
*) MAIN_MENU;;
|
|
esac
|
|
else
|
|
MAIN_MENU
|
|
fi
|
|
|
|
exit 0
|
|
|
|
|
|
|
|
|
|
|