Move backup
function into script so that cron can access it.
This commit is contained in:
43
files/scripts/backup_system.sh
Normal file
43
files/scripts/backup_system.sh
Normal 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
|
Reference in New Issue
Block a user