'svn'에 해당되는 글 3건

  1. 2010/08/18 redmine 1.0.0 업그레이드
  2. 2010/02/19 SVN, Commit Log 변경
  3. 2009/12/29 CRON 을 사용한 SVN + REDMINE 백업

redmine 1.0.0 업그레이드

리눅스 2010/08/18 18:30

1. 백업

  2009/12/29 - [리눅스] - CRON 을 사용한 SVN + REDMINE 백업
  config/database.yml
  config/email.yml 

2. 기존 0.9.2 버전 백업

  redmine -> redmine-0.9.2 로 이름 변경

3. SVN checkout

  svn checkout http://redmine.rubyforge.org/svn/trunk /설치경로/redmine

4. Upgrade

  rake config/initializers/session_store.rb
  config/database.yml 복원
  config/email.yml 복원

5. Database

  rake db:migrate RAILS_ENV=production
  rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production 
  rake db:migrate_plugins RAILS_ENV=production

6. Clean up

  rake tmp:cache:clear
  rake tmp:sessions:clear

  redmine:redmine 권한 설정 files, tmp, log, environment.rb

7. Restart

  servic httpd restart

아무 문제 없이 잘 되는 군요, 순식간에 끝난 수월한 업그레이드 였음 -_-;

저작자 표시 비영리 변경 금지
tags : redmine, svn, Upgrade
Trackback 0 : Comment 0

Trackback Address :: http://blog.nul.kr/trackback/275 관련글 쓰기

Write a comment


SVN, Commit Log 변경

리눅스 2010/02/19 18:30

여러개의프로젝트를 동시에 작업하다보면 Commit 로그를 잘못 입력할때가 있다.

보통 A 프로젝트의 커밋로그를 B 프로젝트에 올린다든지 하는...

기본적으로  SVN의 로그 기록을 바꿀수 없게 되어 있으므로, 이 로그 변경을 위해서는 다음과 같은 작업을 해야 한다.


1. [SVN 저장소 경로]/hooks/pre-revprop-change.tmpl의 파일 이름을 pre-revprop-change 로 변경

2. 실행 가능하도록 권한 변경


아래는 기존의 모든 프로젝트들에 대해 위의 작업을 수행하는 스크립트이다

#!/bin/bash
# SVN pre-revprop-change

cd SVN경로

for repo in *;do
    if [[ -d $repo ]]
    then
          echo Directory : $repo
          if [[ -r $repo/hooks/pre-revprop-change.tmpl ]]
          then 
                mv "$repo/hooks/pre-revprop-change.tmpl" "$repo/hooks/pre-revprop-change"
                echo ............Rename pre-revprop-change
          fi
          if [[ -r $repo/hooks/pre-revprop-change ]]
          then 
                chmod 744 "$repo/hooks/pre-revprop-change"
                echo ........... Change Permission pre-revprop-change
          fi
     fi
done


아래는 SVN 저장소를 생성하고 pre-revprop-change 훅을 세팅하는 스크립트이다.

이미 존재하는 저장소를 입력했다면 그냥 빠져 나온다.

#!/bin/bash

# Create SVN Repo

cd SVN경로

echo 저장소 이름을 입력하세요

read repo

if [[ -d $repo ]]
then
      echo $repo 는 이미 존재하는 저장소입니다.
else
      svnadmin create $repo
      echo ...... $repo 저장소를 생성했습니다.
      mv "$repo/hooks/pre-revprop-change.tmpl" "$repo/hooks/pre-revprop-change"
      chmod 744 "$repo/hooks/pre-revprop-change"
      echo ...... $repo 저장소의 pre-revrepo-change 훅을 생성했습니다.
fi

저작자 표시 비영리 변경 금지
Trackback 0 : Comment 0

Trackback Address :: http://blog.nul.kr/trackback/262 관련글 쓰기

Write a comment


CRON 을 사용한 SVN + REDMINE 백업

리눅스 2009/12/29 19:00


2009/12/15 - [리눅스] - Redmine VPS 서버 구축
에 사용할 자동 백업을 세팅하였습니다.

cron을 사용하려면 계정별 세팅을 하거나 crontab을 씁니다.

제 경우는 /var/spool/cron 에 계정별 설정 파일들이 있더군요 -> 그냥 편집
해당 시간에 명령 혹은 스크립트를 실행 해줍니다. 매우 간단하죠


cron 스크립트는 다음과 같습니다.

토요일 6시 정각에 백업 스크립트를 실행 합니다.

#분 시 일 월 요일(월=1 화=2 ... 일=7)
0 6 * * 6 /백업경로/bkscript.sh

혹시 cron이 동작 안할까봐... #crond restart 합니다.



백업 스크립트는 다음과 같습니다.

1. Redmine DB 백업
2. Redmine 첨부 파일 미러(?) 구동 - 이건 백업의 의미가 좀 약한듯.... 나중에 보완...
3. 모든 SVN Repository 백업
4. 3 개월 경과한 백업 파일 삭제
5. 백업파일은 gzip 사용
6. 복구 방법은 잊어먹을까바 적어두기

#!/bin/sh

# Redmine DB
mysqldump -uroot -p암호  redmine | gzip > /백업경로/redmine/redmine_`date +%y_%m_%d`.gz

# Redmine Files
rsync -avz /레드마인경로/files /백업경로

# SVN Repository
cd /SVN경로
for repo in *;do
  if [[ -d $repo ]];then
    svnadmin dump "/SVN경로/$repo" | gzip > "/백업경로/svn/$repo"_`date +%y%m%d`.svn.gz
  fi
done

# Delete Old File (3 Month)
find /백업경로/svn -name *.svn.gz -mtime +90 -delete
find /백업경로/redmine -name *.gz -mtime +90 -delete

# Restore : mysql -uroot -p DB NAME < FILE NAME
# Unzip : gunzip sample.svn.gz
# Restore : svnadmin load sample --force-uuid < sample.dump
# 특정 리비전 덤프 : svnadmin dump 이름 -r 리비전번호 --incremental > 덤프이름
# 범위 리비전 덤프 : svnadmin dump 이름 -r 리비전번호:리비전번호 --incremental > 덤프이름
# 최근 리비전 덤프 : svnadmin dump 이름 -r Head --incremental > 덤프이름



이제 매주 토요일 6시에 /백업경로/svn, /백업경로/redmine, /백업경로/files 에 각각 데이터가 백업됩니다.
회사 업무도 아닌 개인적인 코드들이라 1주일 간격으로 백업해도 무난하네요.
저작자 표시 비영리 변경 금지
Trackback 1 : Comment 0

Trackback Address :: http://blog.nul.kr/trackback/246 관련글 쓰기

  1. Tracked from 좀더 나은 나를 위하여 2012/01/27 17:27 DELETE

    Subject: redmine 정기적(주기적)으로 백업하기

    솔찍히 조금만 구글링을 하면 보다더 자세히 설명해주고 있는곳이 많지만 제가 필요할때 마다 참조하려고 개인적정리입니다. (즉 대충... 자세한 설명은 생략) 1. redmine DB 백업 mysqldump -uroot -p..

Write a comment

태그 앞에 붙여 넣습니다. -->