Skip to end of metadata
Go to start of metadata

JIRA의 XML 백업 유틸리티 사용

Jira의 백업 유틸리티를 사용하여 백업하기 위해 다음 절차를 수행한다. 


  • 상단 설정 메뉴에서 시스템 선택
  • Import & Export > Backup System 선택
  • Backup JIRA 데이터 페이지가 나타나면 파일이름 입력
  • Backup 버튼 클릭
  • 백업이 완료되면 백업 위치가 메시지가 나타남

JIRA 자동 백업

Jira에서 자동 백업을 위해 다음과 같이 백업 서비를 등록할 수 있다. 


  • 상단 설정 메뉴에서 시스템 선택
  • Advanced > Services로 이동
  • 현재 시스템에서 실행되고 있는 서비스 리스트 확인
  • Add Service에 다음을 추가한다.
    • Name : 이름 입력
    • Class : Built-in Services를 선택하고 Backup service 선택
    • Schedule : 적절한 스케줄 입력
    • Interval : 적절한 간격 입력
  • 백업 파일 생성 경로 : <Jira home-directory>/export

JIRA 데이터 백업 스크립트

Jira의 백업 서비스의 경우 첨부파일은 백업이 되지 않기 때문에 Application Data 는 별도의 백업이 필요하다. 

  • centos 7 기준
  • /data/backup 폴더에 jira-backup.sh 스크립트 생성
  • /backup/atlassian/jira 폴더에 Jira 데이터 폴더(/data/atlassian/application-data) 백업본 저장

다음을 참고하여 Application Data 백업을 수행한다. 

  1. /data/backup 폴더에 jira-backup.sh 파일 생성

    예시)

    jira-backup.sh
    #!/bin/bash
    # Script to remove the older data folder backup files.
    # Currently we retain at least the last two worth
    
    JIRA_BACKUP=/backup/atlassian/jira
    
    # jira data folder backup start
    cd $JIRA_BACKUP
    ls -td1 jira-*.gz | tail -n +2 | xargs rm -f
    cd /data/atlassian/application-data
    tar -zcvf $JIRA_BACKUP/jira-`date +%Y%m%d-%H%M%S`.gz ./jira
    스크립트 절차스크립트 내용설명
    1) 백업 디렉토리 변수 선언JIRA_BACKUP=/backup/atlassian/jira
    2) 백업 디렉토리로 이동cd $JIRA_BACKUP
    3) 오래된 백업 파일 삭제ls -td1 jira-*.gz | tail -n +2 | xargs rm -f
    • 최신 2개의 파일만 남기고 오래된 파일 삭제
    4) 지라 데이터 폴더 백업 명령어 실행cd /data/atlassian/application-data
    tar -zcvf $JIRA_BACKUP/jira-`date +%Y%m%d-%H%M%S`.gz ./jira
    • Jira 데이터 폴더로 이동
    • tar 명령어로 Jira 데이터 폴더 백업
  2. 파일 권한 설정

    chmod +x jira-backup.sh
  3. crontab 등록

    -  crontab -e 명령어 실행

    [root@localhost backup]# crontab -e
  4.  편집 모드에서 실행할 내용 입력 후 저장

    - 시간 설정 참고 페이지 : https://crontab.guru/

    crontab 파일 형식
    # *  *  *  *  * user-name command to be executed
    # |  |  |  |  |
    # |  |  |  |  .---- 요일 (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  .------- 월 (1 - 12) OR jan,feb,mar,apr ...
    # |  |  .---------- 일 (1 - 31)
    # |  .------------- 시간 (0 - 23)
    # .---------------- 분 (0 - 59)


    예시)  매 분마다 Jira 데이터 홈 백업

    * * * * * /data/backup/jira-backup.sh
    ~
    ~
    ~
    "/tmp/crontab.xQT7ia" 1L, 38C

    예시) 월~토 매일 2 A.M 마다  Jira 데이터 홈 백업

    0 2 * * 1-6 /data/backup/jira-backup.sh
    ~
    ~
    ~
    "/tmp/crontab.xQT7ia" 1L, 38C
  5. 등록된 crontab 내용 확인하여 정상 등록 여부 확인

    [root@localhost backup]# crontab -l
    * * * * * /data/backup/jira-backup.sh
  6. crontab 재시작

    [root@localhost backup]# systemctl restart crond
  7. 백업본 확인

    [root@localhost backup]# cd /backup/atlassian/jira/
    [root@localhost jira]# ll
    total 958376
    -rw-r--r--. 1 root root 490684416 Jun 14 00:35 jira-20210614-003501.gz
    -rw-r--r--. 1 root root 490688693 Jun 14 00:36 jira-20210614-003601.gz