페이지 트리

이 페이지는  Bitbucket의 backup & restore Client 사용 방법을 정리한다.


  파일 변경됨
ZIP 보관 bitbucket-backup-client-3.6.0.tar.gz 2021-09-29 by 이형근 책임


구성 방안

1. bitbucket-backup-client-3.6.0.tar.gz 압축 해제

2. client_start.sh 파일 수정 

3. client_start.sh 실행 


client_start.sh 파일 수정 

Bitbucket Backup Client 

예)

#!/usr/bin/env bash

DATE=$(date '+%Y-%m-%d-%H%M')

#Bitbucket USER
USERNAME="user"
#Bitbucket Password
PASSWORD="user"
#Bitbucket URL
BASEURL="http://bitbucket:7990"
#Bitbucket 백업 작업 임시 디렉토리
BACKUP_TO=bitbucket_bak
#Bitbucket 데이터 디렉토리
BITBUCKET_HOME=/DATA/bitbucket-home/
#Bitbucket 최종 백업 디렉토리 
BACKUP_FILE_DIR=../backups
#Bitbucket 백업 이름 PREFIX
FILENAME_PREFIX=bitbucket-backup
#Bitbucket 백업 로그 이름 
LOGNAME=${FILENAME_PREFIX}-${DATE}.log
#Bitbucket 백업 파일 이름 
FILENAME=${FILENAME_PREFIX}-${DATE}.tar.gz
#Bitbucket 백업 클라이언트 파일
BACKUP_BINARY=/DATA/bitbucket_backup/bitbucket-backup-client-3.6.0/bitbucket-backup-client.jar

echo ${FILENAME}



#원격 백업 서버로 전송할 경우 필요함
#원격 백업서버 계정
REMOTE_USERNAME="curvc"
#원격 백업서버 IP
REMOTE_IP="10.0.100.239"
#원격 백업서버 포트
REMOTE_PORT="11122"
#원격 백업서버 디렉토리
REMOTE_TO="/var/backups"

KEEP=3
FILTER=${FILENAME_PREFIX}*.tar.gz

BASE_DIR="$( cd "$( dirname "$0" )" && pwd )"
BASE_DIR= realpath ${BASE_DIR}
echo BASE_DIR is ${BASE_DIR}

cd ${BASE_DIR}

# clean up
rm -rf ${BACKUP_TO}
# backup Bitbucket
echo java -Dbitbucket.user=${USERNAME} -Dbitbucket.password=${PASSWORD} -Dbitbucket.baseUrl=${BASEURL} -Dbitbucket.home=${BITBUCKET_HOME} -Dbackup.home=${BASE_DIR}/${BACKUP_TO} -jar ${BACKUP_BINARY}

java -Dbitbucket.user=${USERNAME} -Dbitbucket.password=${PASSWORD} -Dbitbucket.baseUrl=${BASEURL} -Dbitbucket.home=${BITBUCKET_HOME} -Dbackup.home=${BASE_DIR}/${BACKUP_TO} -jar ${BACKUP_BINARY}


#log backup 
echo "-----log backup-----"
echo cp -r ${BACKUP_TO}/log/* ${BACKUP_FILE_DIR}/${LOGNAME}
cp -r ${BACKUP_TO}/log/* ${BACKUP_FILE_DIR}/${LOGNAME}


# zip backup data
cd ${BASE_DIR}
mkdir -p ${BACKUP_FILE_DIR}
echo tar -zcvf ${BACKUP_FILE_DIR}/${FILENAME} ${BACKUP_TO}
tar -zcvf ${BACKUP_FILE_DIR}/${FILENAME} ${BACKUP_TO}


#원격 백업 서버로 전송할 경우 필요함
# transfer to remote server
if [ -e ${BACKUP_FILE_DIR}/${FILENAME} ]; then
 echo "Backup file exist"
 echo "Start copy to remote"
 echo scp -P ${REMOTE_PORT} ${BACKUP_FILE_DIR}/${FILENAME} ${REMOTE_USERNAME}@${REMOTE_IP}:${REMOTE_TO}
 scp -P ${REMOTE_PORT} ${BACKUP_FILE_DIR}/${FILENAME} ${REMOTE_USERNAME}@${REMOTE_IP}:${REMOTE_TO}
else
 echo "Backup file is NOT exist"
fi

#백업 파일이 90일 이후일 경우 삭제(days 변경 가능)
# delete old backup file
 
days=90

  echo "start - delete files older than ${days} days"
  echo find /at/bitbucket_backup/backups -mtime +${days} -exec rm -f {} \;
  find /at/bitbucket_backup/backups -mtime +${days} -exec rm -f {} \;
  echo "end - delete files older than ${days} days"


백업 진행 

 client_start.sh 실행

  • Bitbucket 접속 시 백업 진행 확인


실제 Bitbucket 서버 백업 진행 확인



Reference

Bitbucket Server Backup Client

  • 레이블 없음