Fixes & Enhancements #6
38
files/scripts/backup_system.sh
Normal file → Executable file
38
files/scripts/backup_system.sh
Normal file → Executable 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
|
||||||
|
Reference in New Issue
Block a user