update
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
VERS='5.1.51-01012024'
|
||||
VERS='5.1.52-01042024'
|
||||
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 '
|
||||
|
||||
@@ -565,6 +565,75 @@ BACKUP_OFFSITEPFSENSE(){
|
||||
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(){
|
||||
echo "${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} ${12} ${13} ${14}"
|
||||
for NTYPE in "${NM_NODE_TYPES[@]}"; do
|
||||
|
||||
Reference in New Issue
Block a user