잊지 않겠습니다.

Redmine을 Backup하기 위해서는 file 폴더와 mysql db backup이 필요하다. 

일별 backup 을 관리하기 위해서 간단한 powershell script를 작성했다.


#utf8 포멧으로 windows command 변경

& CHCP 65001


$backupRoot = 'H:\redmine_backup\';

$mysqldump = 'C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe'

$fileFolder = 'G:\Redmine\Files\*.*';


$date = (Get-Date).ToString("yyyyMMdd");

$desFolder = $backupRoot + $date;

$attachedFiles = $desFolder + '\files';

$dbBackup = $desFolder + '\redmine.sql';


mkdir $desFolder;

mkdir $attachedFiles;

cp $fileFolder $attachedFiles;

& $mysqldump -u root -pqwer12#$ redmine --default-character=utf8 | Out-File $dbBackup -Encoding UTF8;

# 기본 설정. MySQL/bin 의 위치와 Backup 위치, Redmine의 Attach된 파일 위치를 지정

$backupRoot = 'G:\TracBackup\';

$mysqldump = 'C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe'

$fileFolder = 'G:\Redmine\Files\*.*';


#Daily Backup을 날짜별로 하기 위해서 Get-Date 함수 이용

$date = (Get-Date).ToString("yyyyMMdd");

$desFolder = $backupRoot + $date;

$attachedFiles = $desFolder + '\files';

$dbBackup = $desFolder + '\redmine.sql';


#Folder 생성 및 Attach된 파일 copy

mkdir $desFolder;

mkdir $attachedFiles;

cp $fileFolder $attachedFiles;


#MySQL dump 명령어 실행

& $mysqldump -u root -p[MySQL Password] redmine --default-character=utf8 | Out-File $dbBackup -Encoding UTF8;



작성된 script를 Windows Scheduler에 등록하고, 매일 실행하도록 설정하면 완료.

Posted by Y2K
,