Created
July 30, 2014 15:22
-
-
Save icheko/568394d1bcb8e2b30c7e to your computer and use it in GitHub Desktop.
Backup Atlassian Stash
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# TO UNTAR: tar -xvzf stash_2014-07-24.tar.gz --strip-components=2 | |
# | |
LOG_FILE=/tmp/stash_backup_log | |
TIMESTAMP="$$ | $(date +'%D %T') |" | |
TODAY=`date +'%Y-%m-%d'` | |
STASH_DB="stash" | |
TMP_DIR=/root/scripts | |
BACKUP_FILE=stash_db_${TODAY}.backup | |
STASH_HOME=/stash-home/ | |
STASH_FS_FILE=stash_files_${TODAY}.tar.gz | |
STASH_COMPLETE_FILE=stash_${TODAY}.tar.gz | |
PGDUMP_PATH=/usr/bin | |
NETWORK_BACKUP_DIR=/mnt/lanai/system_backups/stash | |
SERVICE_PATH=/sbin | |
# STOP STASH SERVICE | |
echo "$TIMESTAMP STOPPING STASH" &>> $LOG_FILE | |
$SERVICE_PATH/service stash stop &>> $LOG_FILE | |
# DUMP DB | |
echo "$TIMESTAMP DUMPING STASH DB ..." &>> $LOG_FILE | |
$PGDUMP_PATH/pg_dump -U postgres -Fc -E UTF8 -w -o --no-owner --no-acl -f "$TMP_DIR/$BACKUP_FILE" $STASH_DB &>> $LOG_FILE | |
# BACKUP FILES | |
echo "$TIMESTAMP BACKUP FILESYSTEM" &>> $LOG_FILE | |
tar --dereference --exclude='log/*' -zcvf ${TMP_DIR}/${STASH_FS_FILE} ${STASH_HOME} &>> $LOG_FILE | |
# CREATE SINGLE FILE | |
echo "$TIMESTAMP CREATING SINGLE TAR" &>> $LOG_FILE | |
tar -zcvf ${TMP_DIR}/${STASH_COMPLETE_FILE} ${TMP_DIR}/${BACKUP_FILE} ${TMP_DIR}/${STASH_FS_FILE} &>> $LOG_FILE | |
# START STASH SERVICE | |
echo "$TIMESTAMP STARTING STASH" &>> $LOG_FILE | |
$SERVICE_PATH/service stash start &>> $LOG_FILE | |
# COPY TO DRIVE WITH MORE SPACE | |
echo "$TIMESTAMP MOVE TO LANAI" &>> $LOG_FILE | |
cp ${TMP_DIR}/${STASH_COMPLETE_FILE} ${NETWORK_BACKUP_DIR} &>> $LOG_FILE | |
# CLEANUP | |
echo "$TIMESTAMP CLEANUP" &>> $LOG_FILE | |
rm -fv ${TMP_DIR}/${BACKUP_FILE} &>> $LOG_FILE | |
rm -fv ${TMP_DIR}/${STASH_FS_FILE} &>> $LOG_FILE | |
rm -fv ${TMP_DIR}/${STASH_COMPLETE_FILE} &>> $LOG_FILE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment