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에 등록하고, 매일 실행하도록 설정하면 완료.