From 2ae8efcf96760d396f0b872a47e124c1afc483fd Mon Sep 17 00:00:00 2001 From: Bram Prieshof Date: Wed, 1 Dec 2021 13:40:20 +0000 Subject: [PATCH] Add 'Backup-Util-ModInst.sh' --- Backup-Util-ModInst.sh | 154 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 Backup-Util-ModInst.sh diff --git a/Backup-Util-ModInst.sh b/Backup-Util-ModInst.sh new file mode 100644 index 0000000..8594632 --- /dev/null +++ b/Backup-Util-ModInst.sh @@ -0,0 +1,154 @@ +############################### +# Backup-Util # +# SingleModuleInstaller # +# # +# @author: Bram Prieshof # +############################### + +##-----------------## +# Defining Vars # +##-----------------## + +#SMI specific Vars +SMI_config=no +SMI_ModuleName=Backup-Util + +#Enforcing Legacy Mode +APTMODE="apt" +OUTPUT='/dev/tty' +IMODE=l +itype=SMI + +#MysqlPassword(used for mysqldump) +password=Passwd + +#PackageManager-config +dist_ver=$(grep --color=never -Po "^VERSION_ID=\K.*" "/etc/os-release") +dist=$(grep --color=never -Po "^ID=\K.*" "/etc/os-release") + +if [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"18.04"* ]]; then + PKGM="$APTMODE" + PKGI="${PKGM} install -y --no-install-recommends" + PKGLIST="apt" + shortdist=ubu1804 +elif [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"20.04"* ]]; then + echo "Ubuntu 20.04 is not yet fully tested, not recommended for production server" + PKGM="$APTMODE" + PKGI="${PKGM} install -y --no-install-recommends" + PKGLIST="apt" + shortdist=ubu2004 +elif [[ "${dist}" == *"debian"* ]] && [[ "${dist_ver}" == *"10"* ]]; then + echo "Debian 10 Detected" + PKGM="$APTMODE" + PKGI="${PKGM} install -y --no-install-recommends" + PKGLIST="apt" + shortdist=deb10 +elif [[ "${dist}" == *"debian"* ]] && [[ "${dist_ver}" == *"11"* ]]; then + echo "Debian 11 Detected" + PKGM="$APTMODE" + PKGI="${PKGM} install -y --no-install-recommends" + PKGLIST="apt" + shortdist=deb11 +elif [[ "${dist}" == *"centos"* ]] && [[ "${dist_ver}" == *"8"* ]]; then + echo "Centos 8 Detected" + PKGM="dnf" + PKGI="${PKGM} install --setopt=install_weak_deps=False --best -y" + PKGLIST="dnf" + shortdist=el8 +else + echo "This OS is not supported" + exit +fi + +unset dist_ver dist APTMODE + + +#Repo Vars +repo=https://git.ictmaatwerk.com/VPS-scripts/Backup-Util +branch=master +branchtype=branch + +###Select Module type +mtype=""$repo"/raw/"$branchtype"/"$branch"" + +#SelfBuilding Vars +PKGI="${PKGM} install -y" + + +##---------------## +# Functions # +##---------------## + +msg () { +echo "$1" +} + +#Checking if Config var has been set +if [ $SMI_config = no ]; then +msg " Script is not configured, Please update parameters in script" +exit +fi + + +##--------------------------## +# Installer-Requirements # +##--------------------------## + +msg " Starting installer" 8 78 +$PKGUC > $OUTPUT 2>&1 +$PKGI curl > $OUTPUT 2>&1 + + +##-------------------------## +# Generating APT list # +##-------------------------## +#Remove existing pkgList +rm -f /tmp/pkg.list + +#General pkgList +if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/generic.pkg.list; then + curl "$mtype"/generic.pkg.list >>/tmp/pkg.list +fi + + +##--------------------## +# Pre-Requirements # +##--------------------## + +msg " Preconfiguring" +#curl --retry 7 --retry-delay 5 -s https://git.ictmaatwerk.com/VPS-scripts/General/raw/branch/Main/Setup-Repo.sh |repo=init osrel=$shortdist bash > $OUTPUT 2>&1 +$PKGUC +$PKGUP + + +##-------------------## +# Pre-configuring # +##-------------------## + +if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/preconf.sh; then + source <(curl --retry 7 --retry-delay 5 -s "$mtype"/preconf.sh) +fi + + +##-------------## +# Installer # +##-------------## + +cat /tmp/pkg.list | xargs $PKGI + + +##---------------## +# Configuring # +##---------------## + +if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/conf.sh; then + source <(curl --retry 7 --retry-delay 5 -s "$mtype"/conf.sh) +fi + + + +##-------## +# end # +##-------## + +msg " Done!" \ No newline at end of file