update
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
VERS='3.8.147-04232023'
|
||||
VERS='3.8.148-04232023'
|
||||
|
||||
MMFOLDER="/opt/idssys/mediamanager"
|
||||
MMSRV=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
|
||||
|
||||
258
mm-scripts.sh
258
mm-scripts.sh
@@ -814,128 +814,144 @@ UPDATESERVICE(){
|
||||
echo -e "${idsCL[Green]}Updating ${usrvc^} Service${idsCL[Default]}"
|
||||
DIVIDER . lightGreen
|
||||
|
||||
if [[ " ${UPDATE_SERVICES[*]} " =~ " ${usrvc} " ]]; then
|
||||
|
||||
msg="Stopping service and preparing"
|
||||
c=0; spc=''; spc1=$((${cw_spc}-${#msg}))
|
||||
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
||||
if [ "${usrvc}" == "organizr" ]; then
|
||||
msg="Updating Organizr"; 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]}"
|
||||
|
||||
rm -f ${MMFOLDER}/logs/update.${usrvc}
|
||||
touch ${MMFOLDER}/logs/update.${usrvc}
|
||||
|
||||
/bin/systemctl stop ${usrvc} >> ${MMFOLDER}/logs/update.${usrvc}
|
||||
[ "${usrvc}" == "radarr" ] && [[ " ${SERVICES_CHECK[*]} " =~ " radarr3d " ]] && /bin/systemctl stop radarr3d >> ${MMFOLDER}/logs/update.${usrvc}
|
||||
|
||||
tmpfile=/tmp/${usrvc}-update.tar.gz
|
||||
bak=/opt/Backups/${usrvc}.opt.tgz
|
||||
bakcfg=/opt/Backups/${usrvc}.cfg.tgz
|
||||
[[ -f ${bak} ]] && rm -f "${bak}" &>/dev/null
|
||||
[[ -f ${tmpfile} ]] && rm -f "${tmpfile}" &>/dev/null
|
||||
[ ! -d /opt/Backups ] && mkdir /opt/Backups
|
||||
|
||||
cd /var/www/media.scity.us/html >/dev/null 2>&1
|
||||
/usr/bin/git stash >/dev/null 2>&1
|
||||
/usr/bin/git pull >/dev/null 2>&1
|
||||
/bin/chown -Rf www-data:www-data /var/www/media.scity.us/html
|
||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||
|
||||
if [ "${MM_UPDATE_REPO[${usrvc}]}" != "" ] && [ "${MM_UPDATE_REPO[${usrvc}]}" != "systemd" ]; then
|
||||
|
||||
msg="Finding latest update url"
|
||||
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 [[ $BETA_SERVICES == *${usrvc}* ]]; then
|
||||
latest_release_url=`curl -s https://api.github.com/repos/${MM_UPDATE_REPO[${usrvc}]}/${usrvc}/releases | jq -r '.[0].assets[].browser_download_url' | grep "${MM_UPDATE_REPO_GREP[${usrvc}]}" | cut -d '"' -f 4 | grep -i 'https://'`
|
||||
echo "$(date) - Updating Service (${usrvc}) : BETA UPDATEURL = ${latest_release_url}" >> $logfile
|
||||
beta="BETA "
|
||||
else
|
||||
latest_release_url=`curl -s https://api.github.com/repos/${MM_UPDATE_REPO[${usrvc}]}/${usrvc}/releases/latest | jq -r '.assets[].browser_download_url' | grep "${MM_UPDATE_REPO_GREP[${usrvc}]}" | cut -d '"' -f 4 | grep -i 'https://'`
|
||||
echo "$(date) - Updating Service (${usrvc}) : UPDATEURL = ${latest_release_url}" >> $logfile
|
||||
beta=""
|
||||
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]}"
|
||||
|
||||
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 [ "${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
|
||||
fi
|
||||
|
||||
rm -f ${tmpfile} &>/dev/null
|
||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||
|
||||
|
||||
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="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
|
||||
msg="Restarting NGINX"; 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]}"
|
||||
else
|
||||
echo -e "${idsCL[LightCyan]}Skipping${idsCL[Default]}"
|
||||
fi
|
||||
|
||||
rm -f ${MMFOLDER}/mm.update.stop
|
||||
echo "$(date) - Updating Service (${usrvc}) : Completed" >> $logfile
|
||||
echo -e "${idsCL[Green]}${usrvc^} Service has been updated${idsCL[Default]}"
|
||||
/bin/systemctl restart nginx >/dev/null 2>&1
|
||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||
|
||||
echo "$(date) - Updated Organizr" >> $logfile
|
||||
|
||||
else
|
||||
echo -e "${idsCL[Red]}Not currently available to update${idsCL[Default]}"
|
||||
if [[ " ${UPDATE_SERVICES[*]} " =~ " ${usrvc} " ]]; then
|
||||
|
||||
msg="Stopping service and preparing"; 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]}"
|
||||
|
||||
rm -f ${MMFOLDER}/logs/update.${usrvc}
|
||||
touch ${MMFOLDER}/logs/update.${usrvc}
|
||||
|
||||
/bin/systemctl stop ${usrvc} >> ${MMFOLDER}/logs/update.${usrvc}
|
||||
[ "${usrvc}" == "radarr" ] && [[ " ${SERVICES_CHECK[*]} " =~ " radarr3d " ]] && /bin/systemctl stop radarr3d >> ${MMFOLDER}/logs/update.${usrvc}
|
||||
|
||||
tmpfile=/tmp/${usrvc}-update.tar.gz
|
||||
bak=/opt/Backups/${usrvc}.opt.tgz
|
||||
bakcfg=/opt/Backups/${usrvc}.cfg.tgz
|
||||
[[ -f ${bak} ]] && rm -f "${bak}" &>/dev/null
|
||||
[[ -f ${tmpfile} ]] && rm -f "${tmpfile}" &>/dev/null
|
||||
[ ! -d /opt/Backups ] && mkdir /opt/Backups
|
||||
|
||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||
|
||||
if [ "${MM_UPDATE_REPO[${usrvc}]}" != "" ] && [ "${MM_UPDATE_REPO[${usrvc}]}" != "systemd" ]; then
|
||||
|
||||
msg="Finding latest update url"
|
||||
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 [[ $BETA_SERVICES == *${usrvc}* ]]; then
|
||||
latest_release_url=`curl -s https://api.github.com/repos/${MM_UPDATE_REPO[${usrvc}]}/${usrvc}/releases | jq -r '.[0].assets[].browser_download_url' | grep "${MM_UPDATE_REPO_GREP[${usrvc}]}" | cut -d '"' -f 4 | grep -i 'https://'`
|
||||
echo "$(date) - Updating Service (${usrvc}) : BETA UPDATEURL = ${latest_release_url}" >> $logfile
|
||||
beta="BETA "
|
||||
else
|
||||
latest_release_url=`curl -s https://api.github.com/repos/${MM_UPDATE_REPO[${usrvc}]}/${usrvc}/releases/latest | jq -r '.assets[].browser_download_url' | grep "${MM_UPDATE_REPO_GREP[${usrvc}]}" | cut -d '"' -f 4 | grep -i 'https://'`
|
||||
echo "$(date) - Updating Service (${usrvc}) : UPDATEURL = ${latest_release_url}" >> $logfile
|
||||
beta=""
|
||||
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]}"
|
||||
|
||||
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 [ "${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
|
||||
fi
|
||||
|
||||
rm -f ${tmpfile} &>/dev/null
|
||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||
|
||||
|
||||
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="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]}"
|
||||
|
||||
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
|
||||
|
||||
rm -f ${MMFOLDER}/mm.update.stop
|
||||
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]}"
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
else
|
||||
@@ -980,17 +996,6 @@ SHOWSRVCUPDATES(){
|
||||
|
||||
}
|
||||
|
||||
UPDATEORGANIZR(){
|
||||
echo -en "${idsCL[LightCyan]}Updating Organizr ... ${idsCL[Default]}"
|
||||
cd /var/www/media.scity.us/html >/dev/null 2>&1
|
||||
/usr/bin/git stash >/dev/null 2>&1
|
||||
/usr/bin/git pull >/dev/null 2>&1
|
||||
/bin/chown -Rf www-data:www-data /var/www/media.scity.us/html
|
||||
/bin/systemctl restart nginx >/dev/null 2>&1
|
||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||
echo "$(date) - Updated Organizr" >> $logfile
|
||||
}
|
||||
|
||||
MMSETUP(){
|
||||
echo -e "${idsCL[Green]}Media Manager Setup Scripts${idsCL[Default]}"
|
||||
echo
|
||||
@@ -1399,7 +1404,6 @@ if [ ! -f ${MMFOLDER}/mm.update.stop ]; then
|
||||
done
|
||||
;;
|
||||
update-list) SHOWSRVCUPDATES;;
|
||||
update-organizr) UPDATEORGANIZR;;
|
||||
clear) echo -e "${idsCL[LightCyan]}Clearing all mm.* files ${idsCL[Default]}"; echo;;
|
||||
*) USAGE;;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user