Redmine 백업 환경 구축

3168 단어 Redmine

개요



지금까지는 세세하게 몇명으로 Redmine을 사용하고 있었지만 사내 전체에서 Redmine 사용하는 운반이 되어,
이를 위해 운영 규칙을 수립하고 백업 규칙에 대해 생각하게되었습니다.

백업 방법



· 일별로 Redmine 첨부 데이터 (files) 및 데이터베이스 덤프 파일을 취득합니다.
백업용 서버로 전송한다.
· 백업 데이터는 세대 관리를 수행한다.
・복원시에는 Ansible로 새롭게 Redmine 서버를 구축해, 백업 데이터로부터 복원을 실시한다.



환경 구축



1. SSH 자동화



rsync로 동기화 처리를 할 때 암호를 사용하지 않고 로그인 할 수 있습니다.
공개 키 인증을 사용하여 SSH 로그인을 자동화합니다.
Redmine 서버에서의 작업은 postgres 사용자로 수행됩니다.
$ssh-keygen -t rsa
Enter file in which to save the key: (鍵の保存先が表示される) # Enterを入力
Enter passphrase (empty for no passphrase): # Enterを入力
same password: # Enterを入力
$scp .ssh/id_rsa.pub ユーザ名@バックアップサーバホスト名:~/.ssh


백업용 서버에서, 보내져 온 공개키의 사용 설정을 실시합니다.
#バックアップ用サーバで実施
$cd ~/.ssh
$mv id_rsa.pub authorized_keys
$chmod 600 authorized_keys

2. 백업 디렉토리, 쉘 스크립트 작성



쉘 스크립트를 작성하기 전에 mkdir 명령으로 다음 디렉토리를
미리 작성해 둡니다.

· Redmine 서버
/home/postgres/redmine_backup
(postgres 사용자의 홈 디렉토리에 redmine_backup)

· 백업 서버
/backup/redmin_backup

다음으로 백업을 수행하기위한 쉘 스크립트
Redmine 서버의 postgres 사용자 홈 디렉토리에 생성합니다.

backup.sh
#!/bin/sh
pg_dump -U postgres redmine > ~/redmine_backup/db_`date +%Y%m%d%k%M%S`.dump
tar -cvzf ~/redmine_backup/files_`date +%Y%m%d%k%M%S`.tgz /var/lib/redmine/files
find ~/redmine_backup -name "db_redmine_*" -mtime +30 -exec rm {} \;
find ~/redmine_backup -name "files_*" -mtime +30 -exec rm {} \;

3. 쉘 스크립트 실행



스크립트에 실행 권한을 부여하고 실행
$chmod +x redmine_backup.sh
$./redmine_backup.sh

files 및 DB dump 파일이 백업 서버로 전송되어야 합니다.

4. 자동 백업 설정



마지막으로 매일 정해진 날짜와 시간에 자동으로 백업하도록
Redmine 서버에서 스크립트의 자동 시작 설정을 수행합니다.
$crontab -e 

vi가 일어나면 다음을 설명합니다.
00 23 * * * /作成したシェルスクリプトまでのパス/redmine_backup.sh

위의 설명이라면 매일 23:00에 백업을 실행하는 설정이 되어 있습니다.
(cron에 대해서는 여기를 참조)

필요에 따라 설정을 변경해 보십시오.
이것으로 백업 환경의 구축은 종료입니다.

주의점



Redmine 서버, 백업용 서버 모두 rsync 명령을 사용할 수 있도록 할 필요가 있다.
설치되어 있지 않은 경우는 yum 커멘드로 인스톨을 실시한다.

좋은 웹페이지 즐겨찾기