Fixes and enhancements for system backups.

This commit is contained in:
2025-10-14 08:12:19 -07:00
parent afc3b20785
commit 07e32decf8

24
files/scripts/backup_system.sh Normal file → Executable file
View File

@@ -1,24 +1,36 @@
#/usr/bin/env bash #!/usr/bin/env bash
## Variables ## ## Variables ##
if [[ -z "$HOSTNAME" ]]; then
echo "*** Pulling Hostname From Command ***"
export HOSTNAME="`hostname`"
fi
if [[ -z "$HOSTNAME" ]]; then
echo "*** Pulling Hostname From /etc/ File ***"
export HOSTNAME="`cat /etc/hostname`"
fi
EXTRA="$1" EXTRA="$1"
TAG="System" TAG="System"
DATE="`date "+%Y%m%d-%H%M%S"`"
BACKUP_DIR="/srv/backup" BACKUP_DIR="/srv/backup"
BASENAME="$BACKUP_DIR/Backup" BASENAME="$BACKUP_DIR/Backup"
BACKUP="$BASENAME.`now`.$HOSTNAME.$TAG.zip" BACKUP="$BASENAME.$DATE.$HOSTNAME.$TAG.zip"
## Initialization ## ## Initialization ##
echo "*** Creating Backup Directory ***" echo "*** Creating Backup Directory ***"
mkdir -pv $BACKUP_DIR sudo mkdir -pv "$BACKUP_DIR"
chmod -Rv 755 $BACKUP_DIR sudo chmod -Rv 755 "$BACKUP_DIR"
chown -Rv root:root $BACKUP_DIR sudo chown -Rv root:root "$BACKUP_DIR"
cd "$BACKUP_DIR"
## Cleanup ## ## Cleanup ##
echo "*** Removing Old Backups ***" echo "*** Removing Old Backups ***"
sh -c 'rm -fv "$BASENAME"*"$TAG"*' mv -v "$BASENAME"*"$TAG"* ~/TRASH/
rm -v ~/TRASH/"${BASENAME}*${TAG}*.zip"
## Main ## Main