update
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
VERS='5.1.51-01012024'
|
VERS='5.1.52-01042024'
|
||||||
NM_BETA=false
|
NM_BETA=false
|
||||||
|
|
||||||
noheader=' service status-check nightlyrephp7.3-fpm,new backup report check checkcerts gitea update-nodes copynpmcerts singleservercheck update-dyndns backup-offsitepfsense gui nightlyreview update log betacheck '
|
noheader=' service status-check nightlyrephp7.3-fpm,new backup report check checkcerts gitea update-nodes copynpmcerts singleservercheck update-dyndns backup-offsitepfsense gui nightlyreview update log betacheck '
|
||||||
|
|||||||
@@ -565,6 +565,75 @@ BACKUP_OFFSITEPFSENSE(){
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BACKUP_UNIFIUDM(){
|
||||||
|
BAKFOLDER=/mnt/Veam-UniFi-UDM_Backups
|
||||||
|
UNIFIUDM_IP='10.5.1.1'
|
||||||
|
|
||||||
|
if [ "$(CHECK_HOST ${UNIFIUDM_IP})" != "false" ]; then
|
||||||
|
if [ ! -f ${BAKFOLDER}/mounted ]; then
|
||||||
|
mount -a
|
||||||
|
sleep 2s
|
||||||
|
if [ ! -f ${BAKFOLDER}/mounted ]; then
|
||||||
|
echo "Can't mount backup folder"
|
||||||
|
SENDNOTICE "Unifi-UDM Backup Failed" "Could not mount backup folder" 1
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
newBAKFOLDER=$(date +%Y%m%d-%H%M%S)
|
||||||
|
mkdir ${BAKFOLDER}/${newBAKFOLDER}
|
||||||
|
DOM='01'
|
||||||
|
DOW='1'
|
||||||
|
DailyBackupsToKeep=14
|
||||||
|
WeeklyBackupsToKeep=8
|
||||||
|
MonthlyBackupsToKeep=3
|
||||||
|
|
||||||
|
ssh root@${UNIFIUDM_IP} tar -c -f /volume1/data_backup.tar.gz /data
|
||||||
|
ssh root@${UNIFIUDM_IP} tar -c -f /volume1/root_backup.tar.gz /root
|
||||||
|
scp root@${UNIFIUDM_IP}:/volume1/*_backup.tar.gz ${BAKFOLDER}/${newBAKFOLDER}/
|
||||||
|
ssh root@${UNIFIUDM_IP} rm -f /volume1/*_backup.tar.gz
|
||||||
|
|
||||||
|
cd ${BAKFOLDER}
|
||||||
|
if [ "$(date +%d)" == "${DOM}" ] && [ "$(date +%u)" == "${DOW}" ]; then
|
||||||
|
mv ${newBAKFOLDER} "${newBAKFOLDER}-M"
|
||||||
|
ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-W"
|
||||||
|
ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-D"
|
||||||
|
elif [ "$(date +%d)" == "${DOM}" ]; then
|
||||||
|
mv ${newBAKFOLDER} "${newBAKFOLDER}-M"
|
||||||
|
ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-D"
|
||||||
|
elif [ "$(date +%u)" == "${DOW}" ]; then
|
||||||
|
mv ${newBAKFOLDER} "${newBAKFOLDER}-W"
|
||||||
|
ln -s "${newBAKFOLDER}-W" "${newBAKFOLDER}-D"
|
||||||
|
else
|
||||||
|
mv ${newBAKFOLDER} "${newBAKFOLDER}-D"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dailyfilestokeep=(`ls -d ${BAKFOLDER}/*-D 2> /dev/null | tail -${DailyBackupsToKeep}`)
|
||||||
|
weeklyfilestokeep=(`ls -d ${BAKFOLDER}/*-W 2> /dev/null | tail -${WeeklyBackupsToKeep}`)
|
||||||
|
monthlyfilestokeep=(`ls -d ${BAKFOLDER}/*-M 2> /dev/null | tail -${MonthlyBackupsToKeep}`)
|
||||||
|
for folder in $(ls -d ${BAKFOLDER}/*); do
|
||||||
|
if [ "${folder}" != "${BAKFOLDER}/mounted" ]; then
|
||||||
|
if [[ "${folder}" == *"-D"* ]]; then
|
||||||
|
filestokeep=${dailyfilestokeep[@]}
|
||||||
|
elif [[ "${folder}" == *"-W"* ]]; then
|
||||||
|
filestokeep=${weeklyfilestokeep[@]}
|
||||||
|
elif [[ "${folder}" == *"-M"* ]]; then
|
||||||
|
filestokeep=${monthlyfilestokeep[@]}
|
||||||
|
fi
|
||||||
|
keep=0
|
||||||
|
for file in ${filestokeep}; do
|
||||||
|
if [ "${folder}" == "${file}" ]; then
|
||||||
|
keep=1; break
|
||||||
|
fi
|
||||||
|
done;
|
||||||
|
[ $keep == 0 ] && delFolder="D:\\UniFi-UDM_Backups\\${folder##*/}" && ssh backup@10.10.1.60 rmdir "${delFolder}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
SENDNOTICE "UniFi-UDM Backup Failed" "Could not contact 'UDM @ ${UNIFIUDM_IP}' for backup" 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
RUN_COMMAND(){
|
RUN_COMMAND(){
|
||||||
echo "${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} ${12} ${13} ${14}"
|
echo "${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} ${12} ${13} ${14}"
|
||||||
for NTYPE in "${NM_NODE_TYPES[@]}"; do
|
for NTYPE in "${NM_NODE_TYPES[@]}"; do
|
||||||
|
|||||||
Reference in New Issue
Block a user