From c8bd06456e13ba805b0d63fb7cbb6a6287ee467c Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sat, 29 Apr 2023 18:11:04 -0500 Subject: [PATCH] Update mm-scripts.sh --- mm-scripts.sh | 132 +++++++++++++++++++++++++++----------------------- 1 file changed, 71 insertions(+), 61 deletions(-) diff --git a/mm-scripts.sh b/mm-scripts.sh index a00fc7b..f666246 100755 --- a/mm-scripts.sh +++ b/mm-scripts.sh @@ -874,83 +874,93 @@ UPDATESERVICE(){ fi installed_ver=`echo ${latest_release_url} | cut -d/ -f8` echo -e "${idsCL[Green]}Done${idsCL[Default]}" - - msg="Installing version" - c=0; spc=''; spc1=$((${cw_spc}-${#msg})) - until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done - echo -e "${idsCL[White]}${msg}${spc} : ${idsCL[Green]}${installed_ver}${idsCL[Default]}" + + if [ "${latest_release_url}" != "${installed_ver}" ]; then + msg="Installing version"; c=0; spc=''; spc1=$((${cw_spc}-${#msg})); until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done + echo -e "${idsCL[White]}${msg}${spc} : ${idsCL[Green]}${installed_ver}${idsCL[Default]}" - msg="Downloading and updating" - c=0; spc=''; spc1=$((${cw_spc}-${#msg})) - until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done - echo -en "${idsCL[White]}${msg}${spc} : ${idsCL[Default]}" + msg="Downloading and updating" + c=0; spc=''; spc1=$((${cw_spc}-${#msg})) + until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done + echo -en "${idsCL[White]}${msg}${spc} : ${idsCL[Default]}" - if curl --output /dev/null --silent --head --fail $latest_release_url; then - wget -qO ${tmpfile} $latest_release_url >> ${MMFOLDER}/logs/update.${usrvc} - if [[ ( $? -eq 0 ) && ( -f ${tmpfile} ) ]]; then - if [ "${usrvc}" != "bazarr" ]; then - rm -Rf /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} - mkdir /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} - fi - /bin/tar -cpPf $bak /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} - [ "${MM_SERVICE_CFG[${usrvc}]}" != "" ] && [ -d ${MM_SERVICE_CFG[${usrvc}]} ] && /bin/tar -cpPf $bakcfg ${MM_SERVICE_CFG[${usrvc}]} >> ${MMFOLDER}/logs/update.${usrvc} + if curl --output /dev/null --silent --head --fail $latest_release_url; then + wget -qO ${tmpfile} $latest_release_url >> ${MMFOLDER}/logs/update.${usrvc} + if [[ ( $? -eq 0 ) && ( -f ${tmpfile} ) ]]; then + if [ "${usrvc}" != "bazarr" ]; then + rm -Rf /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} + mkdir /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} + fi + /bin/tar -cpPf $bak /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} + [ "${MM_SERVICE_CFG[${usrvc}]}" != "" ] && [ -d ${MM_SERVICE_CFG[${usrvc}]} ] && /bin/tar -cpPf $bakcfg ${MM_SERVICE_CFG[${usrvc}]} >> ${MMFOLDER}/logs/update.${usrvc} - if [ "${usrvc}" == "ombi" ]; then - /bin/tar xfP ${tmpfile} -C /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} - elif [ "${usrvc}" == "bazarr" ]; then - /usr/bin/unzip -oqq ${tmpfile} -d /opt/${usrvc^} - else - /bin/tar xfP ${tmpfile} -C /opt >> ${MMFOLDER}/logs/update.${usrvc} + if [ "${usrvc}" == "ombi" ]; then + /bin/tar xfP ${tmpfile} -C /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} + elif [ "${usrvc}" == "bazarr" ]; then + /usr/bin/unzip -oqq ${tmpfile} -d /opt/${usrvc^} + else + /bin/tar xfP ${tmpfile} -C /opt >> ${MMFOLDER}/logs/update.${usrvc} + fi + chown -R user:users /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} fi - chown -R user:users /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc} fi - fi - rm -f ${tmpfile} &>/dev/null - echo -e "${idsCL[Green]}Done${idsCL[Default]}" + rm -f ${tmpfile} &>/dev/null + echo -e "${idsCL[Green]}Done${idsCL[Default]}" - elif [ "${MM_UPDATE_REPO[${usrvc}]}" == "systemd" ]; then + elif [ "${MM_UPDATE_REPO[${usrvc}]}" == "systemd" ]; then - msg="Installing version" - c=0; spc=''; spc1=$((${cw_spc}-${#msg})) - until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done - echo -e "${idsCL[White]}${msg}${spc} : ${idsCL[Green]}${installed_ver}${idsCL[Default]}" + msg="Installing version" + c=0; spc=''; spc1=$((${cw_spc}-${#msg})) + until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done + echo -e "${idsCL[White]}${msg}${spc} : ${idsCL[Green]}${installed_ver}${idsCL[Default]}" - msg="Updating service" + msg="Updating service" + c=0; spc=''; spc1=$((${cw_spc}-${#msg})) + until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done + echo -en "${idsCL[White]}${msg}${spc} : ${idsCL[Default]}" + + installed_ver=`dpkg -s ${usrvc} | grep Version` + /usr/bin/apt install ${usrvc} >/dev/null 2>&1 + /bin/systemctl disable ${usrvc} >/dev/null 2>&1 + + echo -e "${idsCL[Green]}Done${idsCL[Default]}" + + fi + + [ ! -f ${MMFOLDER}/vers.info ] && touch ${MMFOLDER}/vers.info + /bin/sed -i /${usrvc}/d ${MMFOLDER}/vers.info + echo "${usrvc}_VER=\"${installed_ver}\"" >> ${MMFOLDER}/vers.info + + msg="Starting service back up" c=0; spc=''; spc1=$((${cw_spc}-${#msg})) until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done echo -en "${idsCL[White]}${msg}${spc} : ${idsCL[Default]}" - - installed_ver=`dpkg -s ${usrvc} | grep Version` - /usr/bin/apt install ${usrvc} >/dev/null 2>&1 - /bin/systemctl disable ${usrvc} >/dev/null 2>&1 - - echo -e "${idsCL[Green]}Done${idsCL[Default]}" - - fi - - [ ! -f ${MMFOLDER}/vers.info ] && touch ${MMFOLDER}/vers.info - /bin/sed -i /${usrvc}/d ${MMFOLDER}/vers.info - echo "${usrvc}_VER=\"${installed_ver}\"" >> ${MMFOLDER}/vers.info - - msg="Starting service back up" - c=0; spc=''; spc1=$((${cw_spc}-${#msg})) - until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done - echo -en "${idsCL[White]}${msg}${spc} : ${idsCL[Default]}" - OUT=$(ip link | grep "$VPN_INTERFACE") >/dev/null 2>&1 - if [[ " ${SERVICES_CHECK[*]} " =~ " ${usrvc} " ]] && [ ! -f ${MMFOLDER}/mm.noservices ] && [ ! `find /opt/idssys/mediamanager/ -name 'mm.plexmount.fail*'` ]; then - /bin/systemctl disable ${usrvc} >> ${MMFOLDER}/logs/update.${usrvc} - /bin/systemctl start ${usrvc} >> ${MMFOLDER}/logs/update.${usrvc} - [ "${usrvc}" == "radarr" ] && [[ " ${SERVICES_CHECK[*]} " =~ " radarr3d " ]] && /bin/systemctl start radarr3d >> ${MMFOLDER}/logs/update.${usrvc} - echo -e "${idsCL[Green]}Done${idsCL[Default]}" + OUT=$(ip link | grep "$VPN_INTERFACE") >/dev/null 2>&1 + if [[ " ${SERVICES_CHECK[*]} " =~ " ${usrvc} " ]] && [ ! -f ${MMFOLDER}/mm.noservices ] && [ ! `find /opt/idssys/mediamanager/ -name 'mm.plexmount.fail*'` ]; then + /bin/systemctl disable ${usrvc} >> ${MMFOLDER}/logs/update.${usrvc} + /bin/systemctl start ${usrvc} >> ${MMFOLDER}/logs/update.${usrvc} + [ "${usrvc}" == "radarr" ] && [[ " ${SERVICES_CHECK[*]} " =~ " radarr3d " ]] && /bin/systemctl start radarr3d >> ${MMFOLDER}/logs/update.${usrvc} + echo -e "${idsCL[Green]}Done${idsCL[Default]}" + else + echo -e "${idsCL[LightCyan]}Skipping${idsCL[Default]}" + fi + + echo "$(date) - Updating Service (${usrvc}) : Completed" >> $logfile + echo -e "${idsCL[Green]}${usrvc^} Service has been updated${idsCL[Default]}" + else - echo -e "${idsCL[LightCyan]}Skipping${idsCL[Default]}" + msg="Latest Version"; c=0; spc=''; spc1=$((${cw_spc}-${#msg})); until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done + echo -e "${idsCL[White]}${msg}${spc} : ${idsCL[Green]}${installed_ver}${idsCL[Default]}" + + cver=${usrvc}_VER + msg="Current Version"; c=0; spc=''; spc1=$((${cw_spc}-${#msg})); until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done + echo -e "${idsCL[White]}${msg}${spc} : ${idsCL[Green]}${!cver}${idsCL[Default]}" + echo -e " ${idsCL[White]}Update Not Needed${idsCL[Green]}${installed_ver}${idsCL[Default]}" + fi - - echo "$(date) - Updating Service (${usrvc}) : Completed" >> $logfile - echo -e "${idsCL[Green]}${usrvc^} Service has been updated${idsCL[Default]}" else echo -e "${idsCL[Red]}Not currently available to update${idsCL[Default]}"