update
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
VERS='3.8.206-04292023'
|
VERS='3.8.208-04292023'
|
||||||
|
|
||||||
MMFOLDER="/opt/idssys/mediamanager"
|
MMFOLDER="/opt/idssys/mediamanager"
|
||||||
MMSRV=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
|
MMSRV=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
|
||||||
@@ -20,6 +20,7 @@ logfile=${MMFOLDER}/logs/logfile
|
|||||||
outputlogfile=${MMFOLDER}/logs/outputs.check.log
|
outputlogfile=${MMFOLDER}/logs/outputs.check.log
|
||||||
[ ! -f ${logfile} ] && touch $logfile
|
[ ! -f ${logfile} ] && touch $logfile
|
||||||
[ ! -f ${outputlogfile} ] && touch $outputlogfile
|
[ ! -f ${outputlogfile} ] && touch $outputlogfile
|
||||||
|
[ ! -d /opt/Backups ] && mkdir /opt/Backups
|
||||||
|
|
||||||
declare -A MM_SERVICES
|
declare -A MM_SERVICES
|
||||||
MM_SERVICES['openvpn']='OpenVPN (TorGuard VPN Tunnel)'
|
MM_SERVICES['openvpn']='OpenVPN (TorGuard VPN Tunnel)'
|
||||||
@@ -56,6 +57,10 @@ MM_SERVICE_CFG['lidarr']='/home/user/.config/Lidarr'
|
|||||||
MM_SERVICE_CFG['jackett']='/home/user/.config/Jackett'
|
MM_SERVICE_CFG['jackett']='/home/user/.config/Jackett'
|
||||||
MM_SERVICE_CFG['bazarr']=''
|
MM_SERVICE_CFG['bazarr']=''
|
||||||
|
|
||||||
|
declare -A MM_SERVICE_APP
|
||||||
|
MM_SERVICE_CFG['sonarr']='/usr/lib/sonarr/bin'
|
||||||
|
MM_SERVICE_CFG['snap.tautulli.tautulli']='/snap/tautulli/current'
|
||||||
|
|
||||||
declare -A MM_UPDATE_REPO
|
declare -A MM_UPDATE_REPO
|
||||||
#MM_UPDATE_REPO['ombi']='Ombi-app'
|
#MM_UPDATE_REPO['ombi']='Ombi-app'
|
||||||
MM_UPDATE_REPO['ombi']='systemd'
|
MM_UPDATE_REPO['ombi']='systemd'
|
||||||
|
|||||||
@@ -876,26 +876,12 @@ UPDATESERVICE(){
|
|||||||
|
|
||||||
if [ "${!cver}" != "${latest_ver}" ] || [ "${2}" == "force" ]; then
|
if [ "${!cver}" != "${latest_ver}" ] || [ "${2}" == "force" ]; then
|
||||||
[ "${2}" == "force" ] && echo -e "${idsCL[LightCyan]} Update Not Needed, but forcing anyway${idsCL[Default]}" || echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
[ "${2}" == "force" ] && echo -e "${idsCL[LightCyan]} Update Not Needed, but forcing anyway${idsCL[Default]}" || echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
|
# rm -f ${MMFOLDER}/logs/update.${usrvc}
|
||||||
|
touch ${MMFOLDER}/logs/update.${usrvc}
|
||||||
|
|
||||||
tmpfile=/tmp/${usrvc}-update.tar.gz
|
SERVICEBACKUP ${usrvc}
|
||||||
bak=/opt/Backups/${usrvc}.opt.tgz
|
|
||||||
bakcfg=/opt/Backups/${usrvc}.cfg.tgz
|
msg="Updating Service"
|
||||||
|
|
||||||
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}
|
|
||||||
|
|
||||||
[[ -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]}"
|
|
||||||
|
|
||||||
msg="Downloading and updating"
|
|
||||||
c=0; spc=''; spc1=$((${cw_spc}-${#msg}))
|
c=0; spc=''; spc1=$((${cw_spc}-${#msg}))
|
||||||
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
||||||
echo -en "${idsCL[White]}${msg}${spc} : ${idsCL[Default]}"
|
echo -en "${idsCL[White]}${msg}${spc} : ${idsCL[Default]}"
|
||||||
@@ -907,8 +893,6 @@ UPDATESERVICE(){
|
|||||||
rm -Rf /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc}
|
rm -Rf /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc}
|
||||||
mkdir /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc}
|
mkdir /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc}
|
||||||
fi
|
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
|
if [ "${usrvc}" == "ombi" ]; then
|
||||||
/bin/tar xfP ${tmpfile} -C /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc}
|
/bin/tar xfP ${tmpfile} -C /opt/${usrvc^} >> ${MMFOLDER}/logs/update.${usrvc}
|
||||||
@@ -928,18 +912,7 @@ UPDATESERVICE(){
|
|||||||
/bin/sed -i /${usrvc}/d ${MMFOLDER}/vers.info
|
/bin/sed -i /${usrvc}/d ${MMFOLDER}/vers.info
|
||||||
echo "${usrvc}_VER=\"${latest_ver}\"" >> ${MMFOLDER}/vers.info
|
echo "${usrvc}_VER=\"${latest_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
|
SERVICEBACKUPSTART ${usrvc}
|
||||||
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
|
|
||||||
|
|
||||||
echo "$(date) - Updating Service (${usrvc}) : Completed" >> $logfile
|
echo "$(date) - Updating Service (${usrvc}) : Completed" >> $logfile
|
||||||
echo -e "${idsCL[Green]}${usrvc^} Service has been updated${idsCL[Default]}"
|
echo -e "${idsCL[Green]}${usrvc^} Service has been updated${idsCL[Default]}"
|
||||||
@@ -955,13 +928,16 @@ UPDATESERVICE(){
|
|||||||
|
|
||||||
if [ "$(apt-get -s upgrade | grep ${usrvc})" != "" ] || [ "${2}" == "force" ]; then
|
if [ "$(apt-get -s upgrade | grep ${usrvc})" != "" ] || [ "${2}" == "force" ]; then
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
|
SERVICEBACKUP ${usrvc}
|
||||||
|
|
||||||
msg="Updating service"; c=0; spc=''; spc1=$((${cw_spc}-${#msg})); until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
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]}"
|
echo -en "${idsCL[White]}${msg}${spc} : ${idsCL[Default]}"
|
||||||
/usr/bin/apt install ${usrvc} >/dev/null 2>&1
|
/usr/bin/apt install ${usrvc} >/dev/null 2>&1
|
||||||
/bin/systemctl disable ${usrvc} >/dev/null 2>&1
|
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
echo "$(date) - Updating Service (${usrvc}) : Completed" >> $logfile
|
echo "$(date) - Updating Service (${usrvc}) : Completed" >> $logfile
|
||||||
|
|
||||||
|
SERVICEBACKUPSTART ${usrvc}
|
||||||
|
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[LightCyan]}Update Not Needed${idsCL[Default]}"
|
echo -e "${idsCL[LightCyan]}Update Not Needed${idsCL[Default]}"
|
||||||
echo "$(date) - Updating Service (${usrvc}) : Update not needed" >> $logfile
|
echo "$(date) - Updating Service (${usrvc}) : Update not needed" >> $logfile
|
||||||
@@ -983,6 +959,36 @@ UPDATESERVICE(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SERVICEBACKUP(){
|
||||||
|
usrvc=${1}
|
||||||
|
msg="Stopping Service and Backing 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]}"
|
||||||
|
/bin/systemctl stop ${usrvc} >> ${MMFOLDER}/logs/update.${usrvc}
|
||||||
|
[ "${usrvc}" == "radarr" ] && /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
|
||||||
|
[ "${MM_SERVICE_APP[$usrvc]}" != "" ] && bkfldr=${MM_SERVICE_APP[$usrvc]} || bkfldr=/opt/${usrvc^}
|
||||||
|
/bin/tar -cpPf $bak ${bkfldr} >> ${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}
|
||||||
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
|
}
|
||||||
|
SERVICEBACKUPSTART(){
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
SHOWSRVCUPDATES(){
|
SHOWSRVCUPDATES(){
|
||||||
echo -e "${idsCL[LightCyan]}Latest Update URLs Available${idsCL[Default]}"
|
echo -e "${idsCL[LightCyan]}Latest Update URLs Available${idsCL[Default]}"
|
||||||
DIVIDER . lightGreen
|
DIVIDER . lightGreen
|
||||||
|
|||||||
Reference in New Issue
Block a user