Update mm-scripts.sh
This commit is contained in:
@@ -1071,45 +1071,55 @@ WantedBy=multi-user.target
|
|||||||
SERVICEBACKUP(){
|
SERVICEBACKUP(){
|
||||||
type pv >/dev/null 2>&1 || sudo apt -yq install pv >/dev/null 2>&1
|
type pv >/dev/null 2>&1 || sudo apt -yq install pv >/dev/null 2>&1
|
||||||
usrvc=${1}
|
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} >> ${LOGFOLDER}/update.${usrvc}
|
|
||||||
[ "${usrvc}" == "radarr" ] && /bin/systemctl stop radarr3d >> ${LOGFOLDER}/update.${usrvc}
|
|
||||||
|
|
||||||
BACKUPDIR=/opt/Backups/${usrvc}
|
if [ "${usrvc}" == "all" ]; then
|
||||||
[ ! -d ${BACKUPDIR} ] && mkdir -p ${BACKUPDIR}
|
for uasrvc in "${UPDATE_SERVICES[@]}"; do
|
||||||
[ "${MM_SERVICE_APP[$usrvc]}" != "" ] && APPBAKFOLDER=${MM_SERVICE_APP[$usrvc]} || APPBAKFOLDER=/opt/${usrvc^}
|
[ "${MM_UPDATE_REPO[${uasrvc}]}" != "" ] && [[ " ${SERVICES_CHECK[*]} " =~ " ${uasrvc} " ]] && SERVICEBACKUP ${uasrvc} ${2}
|
||||||
|
done
|
||||||
|
|
||||||
|
elif [ "${usrvc}" != "" ]; then
|
||||||
|
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} >> ${LOGFOLDER}/update.${usrvc}
|
||||||
|
[ "${usrvc}" == "radarr" ] && /bin/systemctl stop radarr3d >> ${LOGFOLDER}/update.${usrvc}
|
||||||
|
|
||||||
if [ "${2}" == "-f" ] ||
|
BACKUPDIR=/opt/Backups/${usrvc}
|
||||||
([ ! -f ${BACKUPDIR}/cfg-full.tgz ] && [ "${MM_SERVICE_CFG[${usrvc}]}" != "" ] && [ -d ${MM_SERVICE_CFG[${usrvc}]} ]) ||
|
[ ! -d ${BACKUPDIR} ] && mkdir -p ${BACKUPDIR}
|
||||||
([ ! -f ${BACKUPDIR}/app-full.tgz ] && [ "${MM_SERVICE_APP[$usrvc]}" != "none" ]) ||
|
[ "${MM_SERVICE_APP[$usrvc]}" != "" ] && APPBAKFOLDER=${MM_SERVICE_APP[$usrvc]} || APPBAKFOLDER=/opt/${usrvc^}
|
||||||
([ $(expr `date +%s` - $(stat -c %Y ${LOGFOLDER}/update.${usrvc})) -gt 604800 ] && [ $(expr `date +%s` - $(stat -c %Y ${BACKUPDIR}/fullbackup)) -gt 7776000 ]); then
|
|
||||||
if [ "${MM_SERVICE_APP[$usrvc]}" != "none" ]; then
|
|
||||||
rm -f ${BACKUPDIR}/snapshot-apt.snar
|
|
||||||
tar -cpPg ${BACKUPDIR}/snapshot-apt.snar -f ${BACKUPDIR}/app-full.tgz ${APPBAKFOLDER}
|
|
||||||
fi
|
|
||||||
if [ "${MM_SERVICE_CFG[${usrvc}]}" != "" ] && [ -d ${MM_SERVICE_CFG[${usrvc}]} ]; then
|
|
||||||
rm -f ${BACKUPDIR}/snapshot-cfg.snar
|
|
||||||
tar -cpPg ${BACKUPDIR}/snapshot-cfg.snar -f ${BACKUPDIR}/cfg-full.tgz ${MM_SERVICE_CFG[${usrvc}]}
|
|
||||||
fi
|
|
||||||
touch ${BACKUPDIR}/fullbackup
|
|
||||||
else
|
|
||||||
if [ "${MM_SERVICE_APP[$usrvc]}" != "none" ]; then
|
|
||||||
tar -cpPg ${BACKUPDIR}/snapshot-apt.snar -f ${BACKUPDIR}/app.$(date +%y-%m-%d-%H-%M-%S).tgz ${APPBAKFOLDER}
|
|
||||||
fi
|
|
||||||
if [ "${MM_SERVICE_CFG[${usrvc}]}" != "" ] && [ -d ${MM_SERVICE_CFG[${usrvc}]} ]; then
|
|
||||||
tar -cpPg ${BACKUPDIR}/snapshot-cfg.snar -f ${BACKUPDIR}/cfg.$(date +%y-%m-%d-%H-%M-%S).tgz ${MM_SERVICE_CFG[${usrvc}]}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
for BAKFILE in ${BACKUPDIR}/app.*.tgz; do
|
if [ "${2}" == "-f" ] ||
|
||||||
[ ${BACKUPDIR}/app-full.tgz -nt ${BAKFILE} ] && rm -f ${BAKFILE}
|
([ ! -f ${BACKUPDIR}/cfg-full.tgz ] && [ "${MM_SERVICE_CFG[${usrvc}]}" != "" ] && [ -d ${MM_SERVICE_CFG[${usrvc}]} ]) ||
|
||||||
done
|
([ ! -f ${BACKUPDIR}/app-full.tgz ] && [ "${MM_SERVICE_APP[$usrvc]}" != "none" ]) ||
|
||||||
for BAKFILE in ${BACKUPDIR}/cfg.*.tgz; do
|
([ $(expr `date +%s` - $(stat -c %Y ${LOGFOLDER}/update.${usrvc})) -gt 604800 ] && [ $(expr `date +%s` - $(stat -c %Y ${BACKUPDIR}/fullbackup)) -gt 7776000 ]); then
|
||||||
[ ${BACKUPDIR}/cfg-full.tgz -nt ${BAKFILE} ] && rm -f ${BAKFILE}
|
if [ "${MM_SERVICE_APP[$usrvc]}" != "none" ]; then
|
||||||
done
|
rm -f ${BACKUPDIR}/snapshot-apt.snar
|
||||||
|
tar -cg ${BACKUPDIR}/snapshot-apt.snar -f ${BACKUPDIR}/app-full.tgz ${APPBAKFOLDER}
|
||||||
|
fi
|
||||||
|
if [ "${MM_SERVICE_CFG[${usrvc}]}" != "" ] && [ -d ${MM_SERVICE_CFG[${usrvc}]} ]; then
|
||||||
|
rm -f ${BACKUPDIR}/snapshot-cfg.snar
|
||||||
|
rm -f ${BACKUPDIR}/snapshot-cfg-3d.snar
|
||||||
|
tar -cg ${BACKUPDIR}/snapshot-cfg.snar -f ${BACKUPDIR}/cfg-full.tgz ${MM_SERVICE_CFG[${usrvc}]}
|
||||||
|
[ "${usrvc}" == "radarr" ] && tar -cg ${BACKUPDIR}/snapshot-cfg-3d.snar -f ${BACKUPDIR}/cfg-3d-full.tgz ${MM_SERVICE_CFG['radarr3d']}
|
||||||
|
fi
|
||||||
|
touch ${BACKUPDIR}/fullbackup
|
||||||
|
else
|
||||||
|
if [ "${MM_SERVICE_APP[$usrvc]}" != "none" ]; then
|
||||||
|
tar -cg ${BACKUPDIR}/snapshot-apt.snar -f ${BACKUPDIR}/app.$(date +%y-%m-%d-%H-%M-%S).tgz ${APPBAKFOLDER}
|
||||||
|
fi
|
||||||
|
if [ "${MM_SERVICE_CFG[${usrvc}]}" != "" ] && [ -d ${MM_SERVICE_CFG[${usrvc}]} ]; then
|
||||||
|
tar -cg ${BACKUPDIR}/snapshot-cfg.snar -f ${BACKUPDIR}/cfg.$(date +%y-%m-%d-%H-%M-%S).tgz ${MM_SERVICE_CFG[${usrvc}]}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
for BAKFILE in ${BACKUPDIR}/app.*.tgz; do
|
||||||
|
[ ${BACKUPDIR}/app-full.tgz -nt ${BAKFILE} ] && rm -f ${BAKFILE}
|
||||||
|
done
|
||||||
|
for BAKFILE in ${BACKUPDIR}/cfg.*.tgz; do
|
||||||
|
[ ${BACKUPDIR}/cfg-full.tgz -nt ${BAKFILE} ] && rm -f ${BAKFILE}
|
||||||
|
done
|
||||||
|
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
SERVICEBACKUP.old(){
|
SERVICEBACKUP.old(){
|
||||||
usrvc=${1}
|
usrvc=${1}
|
||||||
|
|||||||
Reference in New Issue
Block a user