Update nodemgmt-scripts.sh

This commit is contained in:
2023-10-30 21:49:08 -05:00
parent 839e2a6abe
commit 2576734201

View File

@@ -578,52 +578,59 @@ UPDATE_DYNDNS(){
} }
BACKUP_OFFSITEPFSENSE(){ BACKUP_OFFSITEPFSENSE(){
BAKFOLDER=/opt/Offsite-pfSense_Backups OFFSITE_PFSENSE_IP='10.2.1.1'
newBAKFOLDER=${BAKFOLDER}/`date +%Y%m%d-%H%M%S` if [ "$(CHECK_HOST ${OFFSITE_PFSENSE_IP})" != "false" ]; then
mkdir ${newBAKFOLDER} BAKFOLDER=/mnt/Veeam-pfSense-Backups
DOM='01' newBAKFOLDER=${BAKFOLDER}/`date +%Y%m%d-%H%M%S`
DOW='1' mkdir ${newBAKFOLDER}
DailyBackupsToKeep=14 DOM='01'
WeeklyBackupsToKeep=12 DOW='1'
MonthlyBackupsToKeep=24 DailyBackupsToKeep=14
WeeklyBackupsToKeep=12
MonthlyBackupsToKeep=24
ssh root@10.2.1.1 tar -c -f /cf/conf/conf_backup.tar.gz /cf/conf ssh root@${OFFSITE_PFSENSE_IP} tar -c -f /cf/conf/conf_backup.tar.gz /cf/conf
scp root@10.2.1.1:/cf/conf/conf* ${newBAKFOLDER}/ scp root@${OFFSITE_PFSENSE_IP}:/cf/conf/conf* ${newBAKFOLDER}/
ssh root@10.2.1.1 rm -f /cf/conf/conf_backup.tar.gz ssh root@${OFFSITE_PFSENSE_IP} rm -f /cf/conf/conf_backup.tar.gz
if [ "$(date +%d)" == "${DOM}" ] && [ "$(date +%u)" == "${DOW}" ]; then if [ "$(date +%d)" == "${DOM}" ] && [ "$(date +%u)" == "${DOW}" ]; then
mv ${newBAKFOLDER} "${newBAKFOLDER}-M" mv ${newBAKFOLDER} "${newBAKFOLDER}-M"
ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-W" ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-W"
ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-D" ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-D"
elif [ "$(date +%d)" == "${DOM}" ]; then elif [ "$(date +%d)" == "${DOM}" ]; then
mv ${newBAKFOLDER} "${newBAKFOLDER}-M" mv ${newBAKFOLDER} "${newBAKFOLDER}-M"
ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-D" ln -s "${newBAKFOLDER}-M" "${newBAKFOLDER}-D"
elif [ "$(date +%u)" == "${DOW}" ]; then elif [ "$(date +%u)" == "${DOW}" ]; then
mv ${newBAKFOLDER} "${newBAKFOLDER}-W" mv ${newBAKFOLDER} "${newBAKFOLDER}-W"
ln -s "${newBAKFOLDER}-W" "${newBAKFOLDER}-D" ln -s "${newBAKFOLDER}-W" "${newBAKFOLDER}-D"
else else
mv ${newBAKFOLDER} "${newBAKFOLDER}-D" 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 i in $(ls -d ${BAKFOLDER}/*); do keep=0
if [[ "${i}" == *"-D"* ]]; then
filestokeep=${dailyfilestokeep[@]}
elif [[ "${i}" == *"-W"* ]]; then
filestokeep=${weeklyfilestokeep[@]}
elif [[ "${i}" == *"-M"* ]]; then
filestokeep=${monthlyfilestokeep[@]}
fi fi
for a in ${filestokeep}; do
if [ "${i}" == "${a}" ]; then dailyfilestokeep=(`ls -d ${BAKFOLDER}/*-D 2> /dev/null | tail -${DailyBackupsToKeep}`)
keep=1; break 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}" == *"-D"* ]]; then
filestokeep=${dailyfilestokeep[@]}
elif [[ "${folder}" == *"-W"* ]]; then
filestokeep=${weeklyfilestokeep[@]}
elif [[ "${folder}" == *"-M"* ]]; then
filestokeep=${monthlyfilestokeep[@]}
fi fi
done; keep=0
[ $keep == 0 ] && rm -rf ${i} for file in ${filestokeep}; do
done if [ "${folder}" == "${file}" ]; then
keep=1; break
fi
done;
# [ $keep == 0 ] && rm -rf ${folder}
# [ $keep == 0 ] && ssh backup@10.10.1.60 rmdir "D:\Offsite-pfSense_Backups\${newBAKFOLDER}"
[ $keep == 0 ] && echo "DELETE FOLDER: ${folder}"
done
else
SENDNOTICE "Offsite pfSense Backup Failed" "Could not contact 'pfSense @ ${OFFSITE_PFSENSE_IP}' for backup"
fi
} }
RUN_COMMAND(){ RUN_COMMAND(){