#/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