Move backup function into script so that cron can access it.

This commit is contained in:
2025-10-14 07:44:26 -07:00
parent 2f08b1414e
commit ed160da316

View File

@@ -0,0 +1,43 @@
#/usr/bin/env bash
## Variables ##
EXTRA="$1"
TAG="System"
BACKUP_DIR="/srv/backup"
BASENAME="$BACKUP_DIR/Backup"
BACKUP="$BASENAME.`now`.$HOSTNAME.$TAG.zip"
## Initialization ##
echo "*** Creating Backup Directory ***"
mkdir -pv $BACKUP_DIR
chmod -Rv 755 $BACKUP_DIR
chown -Rv root:root $BACKUP_DIR
## Cleanup ##
echo "*** Removing Old Backups ***"
sh -c 'rm -fv "$BASENAME"*"$TAG"*'
## Main
echo "*** Creating backup at '$BACKUP' ***"
sudo zip -rv "$BACKUP" \
/etc /var/{log,mail,spool} /srv /boot \
/usr/local/etc $EXTRA
status="$?"
if [[ "$status" != 0 ]]; then
echo "*** ERROR: Failed to create '$BACKUP', file may be incorrect. ***"
fi
if [[ -e "$BACKUP" ]]; then
ls -alh "$BACKUP"
echo "*** '$BACKUP' created successfully! ***"s
else
echo "*** '$BACKUP' not found! ***"
exit 1
fi
exit 0