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 백업을 수행한다.
/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 +3 | 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 데이터 폴더 백업
파일 권한 설정
chmod +x jira-backup.sh
crontab 등록
- crontab -e 명령어 실행
[root@localhost backup]# crontab -e
편집 모드에서 실행할 내용 입력 후 저장
- 시간 설정 참고 페이지 : 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
등록된 crontab 내용 확인하여 정상 등록 여부 확인
[root@localhost backup]# crontab -l * * * * * /data/backup/jira-backup.sh
crontab 재시작
[root@localhost backup]# systemctl restart crond
백업본 확인
[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