운 영 시간이 길어질 수록 어떤 일이 생길지 모르니 백업은 필수다.
또 한 Redmine을 upgrade 하고자 할 때도 백업은 필수다.
본 인은 혹시 몰라 동일 환경을 VMWare에서 돌려보고 적용한다.
사 실상 Redmine은 경량화 database를 설치 하므로 해당 database만 백업하면 만사 OK 지만
여 기에 더불어 첨부 파일도 같이 백업을 해주어야 한다. 아래는 참고한 사이트이다.
MySQL 의 database를 백업/복구 하는 방법은 크게 2가지가 있다.
1. MySQL command line 을 이용하는 방법과 2. MySQL Administrator를 이용하는 방법이 있다.
나 름 일장 일단이 있다.
1 번의 경우에는 첨부 파일도 같이 백업할 수 있도록 할 수 있는 장점이 있고,
2 번은 command line 명령어를 잘 몰라도 처리할 수 있고 더해서 스케줄러도 설정 할 수 있다.
하 지만 프로그램을 설치해야 하는 부담은 있다.
1 번의 경우도 OS 스케줄러를 연결할 수 있지만 손이 더 간다.
1 번과 2번 모두를 해보며 본인의 입맞에 맞는것을 선택하길 바란다.
1번과 2번 어떤것을 하더라고 일감이나 문서에 있는 첨부 파일은 백업을 할 수 없다. 첨 부 파일은 <Redmine 설치 경로>\files에 있는 파일을 그냥 복사 해두면 된다.
1. MySQL command line 이용
- Backup
사용법은 간단하다.
아래와 같은 명령을 통해서 저장하고자 하는 파일로 output을 redirection 해주면 된다.
사용자 계정은 Redmine database의 계정(redmine/my_password)를 사용해도 되고
MySQL database root의 계정을 사용해도 무방하다.
DatabaseName은 기본값이 redmine 이다.
mySqlDump --user="UserName" --password="Password" --database "databaseName" > backupFileName
이것과 더불어 <Redmine 설치 경로>\files 폴더에 있는 내용도 특정 폴더에 복사만 하면 된다.
- Restore
복원는 MySQL command line client를 이용해서 백업한 파일을 input으로 redirection 해주면 된다.
복원시에는 database에 만약 해당 계정이 있다면 상관 없지만 보통은 운영중일 경우
백업과 동일 계정이 있겠지만 없을 경우에는 root 계정으로 접속하는것이 좋다.
mySq --user="UserName" --password="Password" --database "databaseName" < backupFileName
2. MySQL Administrator를 이용
MySQL Gui tool을 다운 받아서 설치한 뒤 아래를 실행 한다. 설치는 별다른 옵션이 없다.
처음 설치 하면 아래 화면에서 Connection 관련한것을 설정하는것이 편하다.
아니면 계속 동일 항목을 입력 해야 한다.
아래 옵션 화면에서는 아래 순서 대로 작업 한다.
신규 connection을 생성 한 뒤 적절한 정보를 입력한 다음 Apply를 눌러 저장 하고
General Options도 수정 해야 한다
General Options에서는 암호를 저장할지 여부만 선택해주면 된다.
암호 저장 방식을 obscured로 선택을 해야 뒤에 백업 스케줄러를 활용할 수 있다.
-
Backup
Backup category를 선택 후 백업에 대한 신규 프로젝트를 생성한다.
프로젝트 이름 입력 후 백업을 할 Schema(Redmine)을 선택한 뒤 추가 시켜준다.
저장을 하면 왼쪽 하단에 Back Projects에 조회가 된다.
Advanecd Options는 별다른 설정을 할 필요가 없다.
나중에 내공이 쌓이면 수정하길 바란다.
Schedule 항목은 백업에 대한 schedule을 설정 하는 부분인데 설정을 한 뒤 저장을 하면 인증 화면이 나온다.
인증은 로그인한 계정 보다는 SYSTEM으로 해야 로그인 하지 않아도 백업이 이루어 진다
-
Restore
복구는 더 간단하다.
백업되어 있는 파일을 선택 후 Start Restore만 선택해 주면 된다.
Restore Content에서 정상적으로 되었는지 검사를 해볼 수도 있다.
위와 같은 단계로 백업 및 복구를 할 수 있고
command line에서 백업 하고(*.sql) MySQL Administrator에서 복구하거나
혹은 반대로 해도 다 잘 된다.
하지만 역시 본인은 command line이 좋다.
한번 해두면 그다음은 궂이 UI 열어서 마우스를 사용하지 않아도 된다.
그래서 또 스크립트를 만들었다. ^^;
첨부 파일 중 Redmine.Backup.cmd은 백업과 Windows Scheduler 등록, 제거 작업을 해준다.
첨부 파일을 모두 받아서 같은 폴더에 복사를 하고
Redmine.Environment.bat를 열어서 10 line의 Redmine이 설치된 경로를 수정해준다.
SET redmineRoot=D:\CI\Redmine
백업의 경우에 SQL plain script로 받기 때문에 용량이 많이 필요 할 수 있다.
가급적 압축을 해주는 것이 좋은데 Redmine.Backup.cmd에서는 7-Zip을 압축 도구로 사용하고 있다.
Redmine.Backup.cmd을 열어서 19, 20 line의 압축을 할지 여(1)부(0)와
7-Zip이 설치된 경로를 수정하고
SET user7Zip=1SET 7ZipPath=C:\Program Files\Util\7-Zip;
35line의 백업 폴더를 수정 해 준다.
SET backupRoot=D:\IssueTracker.Backup
사용법
- Backup & Scheduler 등록
Redmine.Backup.cmd
Windows Scheduler에서 해당 작업이 있는지 검사 후 없으면 등록 하고
MySQL과 files 폴더를 자동으로 백업 또는 압축 해준다.
- Restore
Redmine.Backup.cmd restore "백업 파일"
- Scheduler 제거