Fixes & Enhancements #6

Merged
me merged 35 commits from dev into main 2025-10-14 15:01:21 -07:00
Showing only changes of commit 07e32decf8 - Show all commits

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

@@ -1,43 +1,55 @@
#/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
echo "*** Creating backup at '$BACKUP' ***" echo "*** Creating backup at '$BACKUP' ***"
sudo zip -rv "$BACKUP" \ sudo zip -rv "$BACKUP" \
/etc /var/{log,mail,spool} /srv /boot \ /etc /var/{log,mail,spool} /srv /boot \
/usr/local/etc $EXTRA /usr/local/etc $EXTRA
status="$?" status="$?"
if [[ "$status" != 0 ]]; then if [[ "$status" != 0 ]]; then
echo "*** ERROR: Failed to create '$BACKUP', file may be incorrect. ***" echo "*** ERROR: Failed to create '$BACKUP', file may be incorrect. ***"
fi fi
if [[ -e "$BACKUP" ]]; then if [[ -e "$BACKUP" ]]; then
ls -alh "$BACKUP" ls -alh "$BACKUP"
echo "*** '$BACKUP' created successfully! ***"s echo "*** '$BACKUP' created successfully! ***"s
else else
echo "*** '$BACKUP' not found! ***" echo "*** '$BACKUP' not found! ***"
exit 1 exit 1
fi fi
exit 0 exit 0